[
https://issues.apache.org/jira/browse/OOZIE-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Kanter updated OOZIE-1028:
---------------------------------
Attachment: OOZIE-1028.patch
In the 3rd patch, I reformatted the twiki changes to not be longer than 132
characters except for the table and list, which I cannot because of twiki
restrictions (so test-patch will still complain about this).
I also fixed the example.
I discussed with Alejandro about the startCal and endCal being null. For this
JIRA, we're going to be consistent with how the coord:current(int n) EL
function works, so I didn't change anything from the previous patch. It looks
like the coord:current(int n) implementation might not be doing the correct
thing in certain cases, but I'll make a new JIRA for that.
> Add EL function to allow date ranges to be used for dataset ranges
> ------------------------------------------------------------------
>
> Key: OOZIE-1028
> URL: https://issues.apache.org/jira/browse/OOZIE-1028
> Project: Oozie
> Issue Type: New Feature
> Components: coordinator
> Affects Versions: trunk
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Fix For: trunk
>
> Attachments: OOZIE-1028.patch, OOZIE-1028.patch, OOZIE-1028.patch
>
>
> Dataset ranges are currently specified with EL functions such as
> {{${coord:current(int n)\}}}, which is basically returns the nominal datetime
> for the nth dataset instance relative to the coordinator action creation
> (materialization) time (in other words, it specifies a multiple of the
> dataset frequency). It would be useful to have a new function that lets
> users specify a date range offset instead of a frequency range offset.
> A new function, {{${coord:offset(int n, String timeUnit)\}}}, would be
> similar to the {{${coord:current(int n)\}}} function, except that the offset
> would be based on the TimeUnit (i.e. "MINUTE", "HOUR", "DAY", "MONTH", or
> "YEAR") instead of the frequency.
> For example, if the frequency was 1 day, then the following would all be
> equivalent:
> {{${coord:current(1)\}}}
> {{${coord:offset(1, "DAY")\}}}
> {{${coord:offset(24, "HOUR")\}}}
> {{${coord:offset(1440, "MINUTE")\}}}
> When specifying dataset instances, the resolved value of {{${coord:offset(int
> n, String timeUnit)\}}} would have to line up with an offset of a multiple of
> the frequency when used in an {{<instance>}} element.
> However, when used in {{<start-instance>}} and {{<end-instance>}}, the
> function would automatically resolve the range of instances to match the
> offset of a multiple of the frequency
> that would fall between the {{<start-instance>}} and {{<end-instance>}}. For
> example, if the frequency is 1 hour and the {{<start-instance>}} is
> {{${coord:offset(-90, "MINUTE")\}}} (-1.5 hours).
> then the {{<start-instance>}} would be effectively equivalent to
> {{${coord:offset(-60, "MINUTE")\}}} as we are dealing with a range.
--
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