You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maksim Timonin (Jira)" <ji...@apache.org> on 2022/09/08 11:51:00 UTC
[jira] [Created] (IGNITE-17656) Race in DistributedProcess#onSingleNodeMessageReceived
Maksim Timonin created IGNITE-17656:
---------------------------------------
Summary: 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
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)