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

Maksim Timonin commented on IGNITE-17656:
-----------------------------------------

[~NSAmelchev] [~namelchev] thanks for review! Merged to master.

Cherry-picked to 2.14

> Race in DistributedProcess#onSingleNodeMessageReceived
> ------------------------------------------------------
>
>                 Key: IGNITE-17656
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17656
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>             Fix For: 2.14
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> DistributedProcess#onSingleNodeMessageReceived
> It could be a case when 2 (one of them is the last) messages receives 
> simultaneously:
>  # Initial state: remaining = \{node0, node1}, singleMsg={}
>  # First msg handled, thread stops after releasing the `mux`: 
> remaining=\{node0}, singleMsg={}.
>  # Second msg handled, thread doesn't stop and: remaining={}, 
> singleMsg=\{node1}. And finishes process after that.
>  # Thread 1 invoked, put message to singleMsg, but process was already 
> finished.
>  
> Solution is changing both collections (remaining, singleMsg) under the same 
> `mux`.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to