Radim Vansa created ISPN-2872:
---------------------------------
Summary: CH_UPDATE from new coord may crash rebalance from old coord
Key: ISPN-2872
URL:
https://issues.jboss.org/browse/ISPN-2872
Project: Infinispan
Issue Type: Bug
Components: State transfer
Affects Versions: 5.2.2.Final
Reporter: Radim Vansa
Assignee: Mircea Markus
This happened probably the first time, but the issue is here:
When old coordinator leaves the cluster, it sends a REBALANCE_START as a goodbye. This
will trigger rebalance process on some of the nodes. As we do sync GET_TRANSACTIONS,
processing this command may take a while.
However, new coordinator will send CH_UPDATE, which will change the current topologyId to
a higher id. This command is processed in LocalTopologyManagerImpl synchronized on
cacheStatus, but rebalance command has already left its synchronized block when it
executes handler.rebalance.
Then, as the old REBALANCE_START tries to call notifyTransactionDataReceived in its
finally block, it finds out that the topologyId has increased and throws an exception.
But the rebalance is left in inconsistent state (activeTopologyUpdates are non-zero,
potentionally waitForState true, DataRehash listener notification not called...).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira