[ https://issues.apache.org/jira/browse/FLINK-5012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15636333#comment-15636333 ]
Aljoscha Krettek commented on FLINK-5012: ----------------------------------------- I think one reason why not is that the {{RuntimeContext}} is also used for batch API stuff and it is already horribly overloaded. Another reason is that the {{RuntimeContext}} can only be retrieved in a {{RichFunction}}. My ideal solution would be this: {code} void flatMap(I value, Context ctx) throws Exception; interface Context { Long timestamp(); TimerService timerService(); void output(OUT value); } {code} I've tried pushing something like this in the past though and generally the opinion is against this because it departs from the usual functions that have a {{Collector}}. So it'll probably be more like this in the end: {code} void flatMap(I value, Context ctx, Collector<OUT> out) throws Exception; interface Context { Long timestamp(); TimerService timerService(); } {code} Or we could put the methods of {{TimerService}} directly into the context, then we would duplicate code between {{TimelyFlatMap}} and {{TimelyCoFlatMap}}, however. > Provide Timestamp in TimelyFlatMapFunction > ------------------------------------------ > > Key: FLINK-5012 > URL: https://issues.apache.org/jira/browse/FLINK-5012 > Project: Flink > Issue Type: Improvement > Components: Streaming > Reporter: Aljoscha Krettek > > Right now, {{TimelyFlatMapFunction}} does not give the timestamp of the > element in {{flatMap()}}. > The signature is currently this: > {code} > void flatMap(I value, TimerService timerService, Collector<O> out) throws > Exception; > {code} > if we add the timestamp it would become this: > {code} > void flatMap(I value, Long timestamp, TimerService timerService, Collector<O> > out) throws Exception; > {code} > The reason why it's a {{Long}} and not a {{long}} is that an element might > not have a timestamp, in that case we should hand in {{null}} here. > This is becoming quite look so we could add a {{Context}} parameter that > provides access to the timestamp and timer service. -- This message was sent by Atlassian JIRA (v6.3.4#6332)