[
https://issues.apache.org/jira/browse/OOZIE-1378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13798304#comment-13798304
]
Mona Chitnis commented on OOZIE-1378:
-------------------------------------
linking the two issues as Robert pointed out
> EL function coord:tzOffset doesn't consider DST correctly
> ----------------------------------------------------------
>
> Key: OOZIE-1378
> URL: https://issues.apache.org/jira/browse/OOZIE-1378
> Project: Oozie
> Issue Type: Bug
> Affects Versions: trunk, 3.3.2
> Reporter: Mohammad Kamrul Islam
> Assignee: Mohammad Kamrul Islam
> Fix For: trunk
>
> Attachments: OOZIE-1378_v1.patch
>
>
> Email communications from Paul Chavez.
> From: Paul Chavez <[email protected]>
> To: "[email protected]" <[email protected]>
> Sent: Tuesday, May 14, 2013 10:23 AM
> Subject: tzOffset() not working as expected
> It seems the tzOffset() function is not accounting for DST. I am in Pacific
> Daylight Saving Time right now, which is a -7 offset from UTC. However, a
> coordinator configured to use tzOffset to calculate localtime paths and date
> strings is returning offsets of -8, which is the Standard Time offset.
> Below is a test coordinator I put together for debugging purposes along with
> dryrun output showing that it's offsetting by -8 hours. Can someone please
> verify if the tzOffset() function is supposed to be accounting for time
> changes?
> Thank you,
> Paul Chavez
> Relevant part of coordinator XML, I'm trying to get both the Current hour
> (local) when the coordinator triggers, as well as the Previous hour. The
> coordinator was submitted with a start date of 5pm UTC which is currently
> 10am Pacific Daylight Time.
> <coordinator-app xmlns="uri:oozie:coordinator:0.1" name="Test tzOffset"
> frequency="60" start="2013-05-14T17:00Z" end="2013-11-01T08:30Z"
> timezone="UTC" freq_timeunit="MINUTE" end_of_duration="NONE">
> <input-events>
> <data-in name="CurrentHourLogs" dataset="LogPath">
> <dataset name="LogPath" frequency="60"
> initial-instance="2013-04-27T07:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
>
> <uri-template>hdfs://nameservice1/logs/datekey=${YEAR}${MONTH}${DAY}/hour=${HOUR}</uri-template>
> <done-flag />
> </dataset>
> <instance>${coord:current(coord:tzOffset()/60)}</instance>
> </data-in>
> </input-events>
> <output-events>
> <data-out name="CurrentHour" dataset="IntHour">
> <dataset name="IntHour" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${HOUR}</uri-template>
> </dataset>
> <instance>${coord:current(coord:tzOffset()/60)}</instance>
> </data-out>
> <data-out name="CurrentDay" dataset="IntDay">
> <dataset name="IntDay" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${YEAR}${MONTH}${DAY}</uri-template>
> </dataset>
> <instance>${coord:current(coord:tzOffset()/60)}</instance>
> </data-out>
> <data-out name="PreviousHour" dataset="IntHour">
> <dataset name="IntHour" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${HOUR}</uri-template>
> </dataset>
> <instance>${coord:current((coord:tzOffset()/60)-1)}</instance>
> </data-out>
> <data-out name="PreviousDay" dataset="IntDay">
> <dataset name="IntDay" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${YEAR}${MONTH}${DAY}</uri-template>
> </dataset>
> <instance>${coord:current((coord:tzOffset()/60)-1)}</instance>
> </data-out>
> </output-events>
> Dryrun output, expecting CurrentHour to be 10 and PreviousHour to be 09:
> coordAction instance: 1:
> <coordinator-app xmlns="uri:oozie:coordinator:0.1" name="Test tzOffset"
> frequency="60" timezone="UTC" freq_timeunit="MINUTE" end_of_duration="NONE"
> instance-number="1" action-nominal-time="2013-05-14T17:00Z"
> action-actual-time="2013-05-14T17:14Z">
> <input-events>
> <data-in name="CurrentHourLogs" dataset="LogPath">
> <uris>hdfs://nameservice1/logs/datekey=20130514/hour=09</uris>
> <dataset name="LogPath" frequency="60"
> initial-instance="2013-04-27T07:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
>
> <uri-template>hdfs://nameservice1/logs/datekey=${YEAR}${MONTH}${DAY}/hour=${HOUR}</uri-template>
> <done-flag />
> </dataset>
> </data-in>
> </input-events>
> <output-events>
> <data-out name="CurrentHour" dataset="IntHour">
> <uris>09</uris>
> <dataset name="IntHour" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${HOUR}</uri-template>
> </dataset>
> </data-out>
> <data-out name="CurrentDay" dataset="IntDay">
> <uris>20130514</uris>
> <dataset name="IntDay" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${YEAR}${MONTH}${DAY}</uri-template>
> </dataset>
> </data-out>
> <data-out name="PreviousHour" dataset="IntHour">
> <uris>08</uris>
> <dataset name="IntHour" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${HOUR}</uri-template>
> </dataset>
> </data-out>
> <data-out name="PreviousDay" dataset="IntDay">
> <uris>20130514</uris>
> <dataset name="IntDay" frequency="60"
> initial-instance="2013-05-09T00:00Z" timezone="America/Los_Angeles"
> freq_timeunit="MINUTE" end_of_duration="NONE">
> <uri-template>${YEAR}${MONTH}${DAY}</uri-template>
> </dataset>
> </data-out>
> </output-events>
--
This message was sent by Atlassian JIRA
(v6.1#6144)