[jira] [Created] (FLINK-12351) AsyncWaitOperator should deep copy StreamElement when object reuse is enabled

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-12351) AsyncWaitOperator should deep copy StreamElement when object reuse is enabled

Shang Yuanchun (Jira)
Jark Wu created FLINK-12351:
-------------------------------

             Summary: AsyncWaitOperator should deep copy StreamElement when object reuse is enabled
                 Key: FLINK-12351
                 URL: https://issues.apache.org/jira/browse/FLINK-12351
             Project: Flink
          Issue Type: Bug
            Reporter: Jark Wu
             Fix For: 1.9.0


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



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)