[
https://issues.apache.org/jira/browse/FLINK-7388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16190514#comment-16190514
]
Bowen Li commented on FLINK-7388:
---------------------------------
Hi [~fhueske] ,
Do you mean that: in {{KeyedProcessOperator#onEventTime()}}, we should check if
the {{InternalTimer}} is a processing timer on not. If the {{InternalTimer}} is
a processing timer, we should call {{userFunction.onTimer(null, onTimerContext,
collector)}}?
The above is my understanding. Can you please correct me and provide more
details on how you think we should implement this?
Thanks!
> ProcessFunction.onTimer() sets processing time as timestamp
> -----------------------------------------------------------
>
> Key: FLINK-7388
> URL: https://issues.apache.org/jira/browse/FLINK-7388
> Project: Flink
> Issue Type: Improvement
> Components: DataStream API
> Affects Versions: 1.4.0, 1.3.2
> Reporter: Fabian Hueske
> Assignee: Bowen Li
>
> The {{ProcessFunction.onTimer()}} method sets the current processing time as
> event-time timestamp when it is called from a processing time timer.
> I don't think this behavior is useful. Processing time timestamps won't be
> aligned with watermarks and are not deterministic. The only reason would be
> to have _some_ value in the timestamp field. However, the behavior is very
> subtle and might not be noticed by users.
> IMO, it would be better to erase the timestamp. This will cause downstream
> operator that rely on timestamps to fail and notify the users that the logic
> they implemented was probably not what they intended to do.
> What do you think [~aljoscha]?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)