[
https://issues.apache.org/jira/browse/FLINK-12351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16827861#comment-16827861
]
aitozi commented on FLINK-12351:
--------------------------------
Hi, [~jark]
I checked the objectuse config in other operator just now. Found that it's
mostly been checked in batch related operator. Is only AsyncWaitOperator
affected? But i think other operator may be affected too. If user use the
object reuse feature without paying attention to the side effect of the changes
on the object as the doc of ExecutionConfig#enableObjectReuse say, the result
may be unpredictable. Or we have to enable objectReuse to operator level to let
user config the behaviour of the operator individually, what's your idea?
> 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
> Priority: Major
> 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)