flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-3435) Change interplay of Ingestion Time and Event Time
Date Tue, 23 Feb 2016 19:08:18 GMT

    [ 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:


    [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
    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:


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 <sewen@apache.org>
Date:   2016-02-22T16:58:07Z

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

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

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

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

    [hotfix] Minor cleanups and removal of unused parameter

commit 81458f5ee79aa1cc1f350a3bdb57252487d134b5
Author: Stephan Ewen <sewen@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

View raw message