This is actually will have an indeterminate outcome.
It will depend on a number of factors, including how the network heals.
JGroups again has a lot of documentation on merging. The problem with the
'split brain' scenario you describe is that there is no way of knowing which
version of the
Thanks a lot for the explanations.
Reading the Junit test cases also helped.
I also have a question regarding (re)synchronization.
For a cluster of 2 cache members A & B, imagine that:
- A network failure occurs and members A & B can't "see" each other.
- a transaction starts and updates the node
If a node fails during the 2-phase commit protocol, an exception is thrown
internally by the comms layer. This is trapped and the transaction is marked
for rollback, and the TM sees this and initiates a rollback.
If the node does before the 2-pc protocol commences, then the tx does not fail;