[
https://issues.apache.org/jira/browse/OOZIE-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427449#comment-16427449
]
Peter Bacsko commented on OOZIE-2494:
-------------------------------------
I think the problem is twofold.
First we have the issue described in this JIRA is that whevever there is a DST
change, it's not reflected on the materialized time.
On the other hand, properly following DST changes can also introduce weird
side-effects: if we have a WF that runs at 2AM every day, then once a year it
will be skipped during the 1:59:59 --> 3:00:00 transition and will run twice
during the 2:59:59 --> 2:00:00 transition. For some people this will be normal,
but I believe most customers wouldn't even consider this scenario when they set
up their coordinators, so we have to be careful when we modify the semantics of
WF execution.
> Cron syntax not handling DST properly
> -------------------------------------
>
> Key: OOZIE-2494
> URL: https://issues.apache.org/jira/browse/OOZIE-2494
> Project: Oozie
> Issue Type: Bug
> Components: coordinator
> Affects Versions: 4.2.0
> Reporter: Dennis Pallett
> Assignee: Julia Kinga Marton
> Priority: Blocker
> Attachments: CronExpressionPOC.java, OOZIE-2494-001.patch,
> OOZIE-2494-002.patch, OOZIE-2494-003.patch, OOZIE-2494-004.patch,
> testActionMaterWithDST3.patch
>
>
> When specifying a coordinator frequency, you can also specify a "timezone".
> While the frequency is always calculated in UTC, the timezone’s DST rules are
> still applied. We can see this in the following two Coordinators, which ran
> across the DST shift (March 13 2016 at 2am) for the America/Los_Angeles
> timezone. The "el-UTC" job has "UTC" as the timezone, while the "el-LA" job
> has “America/Los_Angeles” as the timezone. Both jobs have a frequency of
> {{$\{coord:days(1)\}}}.
> {noformat}
> Job Name : el-UTC
> Start Time : 2016-03-13 01:10 GMT | 2016-03-12 17:10 PST
> ---------------------------------------------------------
> ID Nominal Time (UTC) Nominal Time (LA)
> @1 2016-03-13 01:10 GMT 2016-03-12 17:10 PST
> @2 2016-03-14 01:10 GMT 2016-03-13 18:10 PDT
> {noformat}
> {noformat}
> Job Name : el-LA
> Start Time : 2016-03-13 01:10 GMT | 2016-03-12 17:10 PST
> ---------------------------------------------------------
> ID Nominal Time (UTC) Nominal Time (LA)
> @1 2016-03-13 01:10 GMT 2016-03-12 17:10 PST
> @2 2016-03-14 00:10 GMT 2016-03-13 17:10 PDT
> {noformat}
> As you can see, @2’s nominal time is adjusted to an hour earlier in the
> "el-LA" job, but not in the "el-UTC" job.
> However, when running a similar set of jobs, but using cron syntax [({{10 1
> 1/1 * *}}|http://crontab.guru/#10_1_1/1_*_*], which indicates 1:10 every day
> of every month), this isn’t the case:
> {noformat}
> Job Name : cron-UTC
> Start Time : 2016-03-13 01:08 GMT | 2016-03-12 17:08 PST
> ---------------------------------------------------------
> ID Nominal Time (UTC) Nominal Time (LA)
> @1 2016-03-13 01:10 GMT 2016-03-12 17:10 PST
> @2 2016-03-14 01:10 GMT 2016-03-13 18:10 PDT
> {noformat}
> {noformat}
> Job Name : cron-LA
> Start Time : 2016-03-13 01:08 GMT | 2016-03-12 17:08 PST
> ---------------------------------------------------------
> ID Nominal Time (UTC) Nominal Time (LA)
> @1 2016-03-13 01:10 GMT 2016-03-12 17:10 PST
> @2 2016-03-14 01:10 GMT 2016-03-13 18:10 PDT
> {noformat}
> As you can see, @2’s nominal time are the same in both the "cron-UTC" and
> "cron-LA" jobs. The "cron-LA" job should have the same nominal time as the
> "el-LA" job from earlier.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)