[
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 <[email protected]>
Date: 2016-02-22T16:58:07Z
[FLINK-3468] [streaming] Handle negative timestamps in timestamp assigner
operators
commit 3b54eba64deeff7da9fc4fb66e79fc53a84f41fb
Author: Stephan Ewen <[email protected]>
Date: 2016-02-22T18:22:47Z
[FLINK-3435] [streaming] EventTime window assigners error out on negative
timestamps
commit 843912a46ba0969319300fe055a8554db8f86a52
Author: Stephan Ewen <[email protected]>
Date: 2016-02-22T19:32:07Z
[hotfix] Minor cleanups and removal of unused parameter
commit 81458f5ee79aa1cc1f350a3bdb57252487d134b5
Author: Stephan Ewen <[email protected]>
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)