Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Currently, AsyncWaitOperator directly put the input StreamElement into StreamElementQueue. But when object reuse is enabled, the StreamElement is reused, which means the element in StreamElementQueue will be modified. As a result, the output of AsyncWaitOperator might be wrong.
An easy way to fix this might be deep copy the input StreamElement when object reuse is enabled, like this: https://github.com/apache/flink/blob/blink/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/async/AsyncWaitOperator.java#L209
Attachments
Issue Links
- links to