Andrey Zagrebin created FLINK-10830:
---------------------------------------

             Summary: Consider making processing time provider pluggable
                 Key: FLINK-10830
                 URL: https://issues.apache.org/jira/browse/FLINK-10830
             Project: Flink
          Issue Type: Improvement
            Reporter: Andrey Zagrebin


At the moment, the processing time is basically implemented in a fixed way as 

System.currentTimeMillis() and not configurable by users.

If this implementation does not fit application business logic for some reason 
there is no way for users to change it.

Examples:
 * The timestamp provided by currentTimeMillis is not guaranteed to be 
monotonically increasing. It can jump back for a while because of possible 
periodic synchronisation of local clock with other more accurate system. It can 
be a problem for application business logic if we say that the general notion 
of time is that it always increases.
 * Hard to implement end-to-end tests because synchronisation between time in 
test and in Flink is out of control.

We can make it configurable and let users optionally set their own factory to 
create processing time provider. All features which depend on querying current 
processing time can use this implementation. The default one can still stay 
System.currentTimeMillis().



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to