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

Till Rohrmann commented on FLINK-21365:
---------------------------------------

{{AtomicInteger#incrementAndGet}} performs a volatile read. This alone won't 
solve the problem. However, it also performs an {{Unsafe.compareAndSwapInt}}. 
Does this ensure that a store barrier is inserted [~pnowojski]? I couldn't find 
anything on this while quickly searching for it.

> Visibility issue in FutureUtils.ResultConjunctFuture.handleCompletedFuture 
> ---------------------------------------------------------------------------
>
>                 Key: FLINK-21365
>                 URL: https://issues.apache.org/jira/browse/FLINK-21365
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Coordination
>    Affects Versions: 1.11.3, 1.12.1
>            Reporter: Roman Khachatryan
>            Assignee: Roman Khachatryan
>            Priority: Major
>             Fix For: 1.11.4, 1.12.2, 1.13.0
>
>
> * FutureUtils.ResultConjunctFuture.handleCompletedFuture can update *results* 
> array from multiple threads
> * The array is declared as volatile but this only means the reference is 
> volatile, not the contents
> * There are no other guards



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to