[ https://issues.apache.org/jira/browse/FLINK-32496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17738923#comment-17738923 ]
haishui commented on FLINK-32496: --------------------------------- [~martijnvisser] I'm sorry to say that I didn't find this bug when I fix FLINK-31632, even though mas-chen used to mention this issue in PR [[FLINK-31632] Fix maxAllowedWatermark arithmetic overflow when the source is idle by haishui126 · Pull Request #22291 · apache/flink (github.com)|https://github.com/apache/flink/pull/22291]{*}{*} > Sources with idleness and alignment always wait for alignment when part of > multiple sources is idle > --------------------------------------------------------------------------------------------------- > > Key: FLINK-32496 > URL: https://issues.apache.org/jira/browse/FLINK-32496 > Project: Flink > Issue Type: Bug > Components: API / DataStream > Affects Versions: 1.16.2, 1.17.1 > Reporter: haishui > Priority: Major > > Sources with idleness and alignment always wait for alignment when part of > multiple sources is idle. > *Root cause:* > In > [SourceOperator|https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/SourceOperator.java], > `lastEmittedWatermark` is Long.MAX_VALUE if a source is idle. > When other source is active, the `currentMaxDesiredWatermark` is less then > Long.MAX_VALUE. > So the `shouldWaitForAlignment` method is always true for idle sources. > > What's more, the source will become idle if a source wait for alignment for a > long time, which also should be considered. -- This message was sent by Atlassian Jira (v8.20.10#820010)