[ 
https://issues.apache.org/jira/browse/OOZIE-1378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mohammad Kamrul Islam updated OOZIE-1378:
-----------------------------------------

    Attachment: OOZIE-1378_v1.patch
    
> 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
>            Reporter: Mohammad Kamrul Islam
>         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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to