You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jark Wu (JIRA)" <ji...@apache.org> on 2019/04/28 03:40:00 UTC

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

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)