[ 
https://issues.apache.org/jira/browse/FLINK-3435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15159444#comment-15159444
 ] 

ASF GitHub Bot commented on FLINK-3435:
---------------------------------------

GitHub user StephanEwen opened a pull request:

    https://github.com/apache/flink/pull/1699

    [FLINK-3435] Proparly separate IngestionTime and EventTime

    This pull request changes the interplay between **Event Time** and 
**Ingestion Time**
    
    Prior to this pull request, both time characteristics were essentially 
equal.
    
    After this pull request:
    
      - *Ingestion Time* auto generates ingestion timestamps and watermarks.
      - *Event Time* does not generate and automatic watermarks, and assigns -1 
as timestamps
      - Timestamp extractors are not allowed to assign negative timestamps any 
more
      - If a default window operator finds a -1 event time timestamp, this 
indicates that the system runs on Event Time and does not have a timestamp 
assigner. This causes an exception so the program will immediately fail with an 
informative error message.
      - Mixing Event Time and Ingestion Time requires using Event Time and 
using an included IngestionTimestampExtractor.
    
    This also removes `ExecutionConfig.areTimestampsEnabled()` and similar 
methods.
    
    Desirable changes for future versions:
    
      - At pre-flight time, deactivate custom timestamp assigners when using 
Ingesion Time.
      - At pre-flight time, check whether Event Time pipelines actually have 
timestamp assigners.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/StephanEwen/incubator-flink time_interplay

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/1699.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1699
    
----
commit 7441934f885beecf51a71963b63b758769492573
Author: Stephan Ewen <se...@apache.org>
Date:   2016-02-22T16:58:07Z

    [FLINK-3468] [streaming] Handle negative timestamps in timestamp assigner 
operators

commit 3b54eba64deeff7da9fc4fb66e79fc53a84f41fb
Author: Stephan Ewen <se...@apache.org>
Date:   2016-02-22T18:22:47Z

    [FLINK-3435] [streaming] EventTime window assigners error out on negative 
timestamps

commit 843912a46ba0969319300fe055a8554db8f86a52
Author: Stephan Ewen <se...@apache.org>
Date:   2016-02-22T19:32:07Z

    [hotfix] Minor cleanups and removal of unused parameter

commit 81458f5ee79aa1cc1f350a3bdb57252487d134b5
Author: Stephan Ewen <se...@apache.org>
Date:   2016-02-23T17:32:43Z

    [FLINK-3435] [streaming] Proparly separate IngestionTime and EventTime
    
      - IngestionTime now only auto-generates watermarks
      - EventTime does not auto-generate ingestion watermarks
    
    This also removes the "ExecutionConfig.areTimestampsEnabled()" flag.

----


> Change interplay of Ingestion Time and Event Time
> -------------------------------------------------
>
>                 Key: FLINK-3435
>                 URL: https://issues.apache.org/jira/browse/FLINK-3435
>             Project: Flink
>          Issue Type: Improvement
>          Components: Streaming
>    Affects Versions: 0.10.2
>            Reporter: Stephan Ewen
>            Priority: Blocker
>             Fix For: 1.0.0
>
>
> Currently, "EventTime" and "IngestionTime" are completely the same.
> For both happens the following:
>   - Sources generate ingestion time timestamps and watermarks
>   - If a user adds a manual timestamp extractor / watermark generator, then 
> those override the ingestion time timestamps and watermarks
>   - That implies that event time on a certain input falls back to ingestion 
> time, if one forgets (or incorrectly uses) the timestamp extractors
>   - Also, Ingestion Time and Event Time simply mix if some inputs have 
> timestamp assigners, and others have not.
> This behavior is quite tricky to understand. After some discussions with 
> [~aljoscha] and [~rmetzger], we suggest to change it the following way.
>   1. On Ingestion Time, the timestamps and watermarks are generated as they 
> are now.
>   2. On event time, no default timestamps and watermarks are generated. If a 
> user does not implement a timestamp extractor / watermark generator, then the 
> event time operations will fail fast.
>   3. If one wants to use ingestion time on event time settings (mix), one can 
> use an explicit "WallClockTimetampsAndWatermark" generator.
>   4. Later, the "Ingestion Time" settings should automatically disable and 
> user-defined timestamp extractors / assigners.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to