[ 
https://issues.apache.org/jira/browse/FLINK-12351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17181094#comment-17181094
 ] 

Piotr Nowojski commented on FLINK-12351:
----------------------------------------

Yes that's true. I was more worried about relaying on an assumption that 
network stack is not re using the records in any way. But maybe this is not big 
of an issue and could be guarded by some unit test for `AsyncWaitOperator`.

> 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
>          Components: API / DataStream
>            Reporter: Jark Wu
>            Assignee: Jark Wu
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)

Reply via email to