[
https://issues.apache.org/jira/browse/FLINK-4329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15426353#comment-15426353
]
ASF GitHub Bot commented on FLINK-4329:
---------------------------------------
Github user rmetzger commented on a diff in the pull request:
https://github.com/apache/flink/pull/2350#discussion_r75298028
--- Diff:
flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/StreamSource.java
---
@@ -146,16 +146,24 @@ void checkAsyncException() {
private final Output<StreamRecord<T>> output;
private final StreamRecord<T> reuse;
- public NonTimestampContext(StreamSource<?, ?> owner, Object
lockingObject, Output<StreamRecord<T>> output) {
- this.owner = owner;
+ public NonTimestampContext(AbstractStreamOperator<T> owner,
Object lockingObject, Output<StreamRecord<T>> output) {
this.lockingObject = lockingObject;
this.output = output;
this.reuse = new StreamRecord<T>(null);
+
+ // if it is a source, then we cast and cache it
+ // here so that we do not have to do it in every
collect(),
+ // collectWithTimestamp() and emitWatermark()
+
+ this.owner = (owner instanceof StreamSource) ?
+ (StreamSource) owner : null;
--- End diff --
This looks a bit hacky. How about you add an interface `AsyncException` or
so, that all classes the `NonTimestampContext` are using can use.
> Fix Streaming File Source Timestamps/Watermarks Handling
> --------------------------------------------------------
>
> Key: FLINK-4329
> URL: https://issues.apache.org/jira/browse/FLINK-4329
> Project: Flink
> Issue Type: Bug
> Components: Streaming Connectors
> Affects Versions: 1.1.0
> Reporter: Aljoscha Krettek
> Assignee: Kostas Kloudas
> Fix For: 1.1.1
>
>
> The {{ContinuousFileReaderOperator}} does not correctly deal with watermarks,
> i.e. they are just passed through. This means that when the
> {{ContinuousFileMonitoringFunction}} closes and emits a {{Long.MAX_VALUE}}
> that watermark can "overtake" the records that are to be emitted in the
> {{ContinuousFileReaderOperator}}. Together with the new "allowed lateness"
> setting in window operator this can lead to elements being dropped as late.
> Also, {{ContinuousFileReaderOperator}} does not correctly assign ingestion
> timestamps since it is not technically a source but looks like one to the
> user.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)