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; it just
excludes the dead node from the cluster.
There is no difference between a shutdown and a node crashing as far as the 2-pc protocol
is concerned. If the node dies/is shut down in the middle of the 2-pc protocol, it will
cause a rollback on the initiator of the commit. Else, it will be excluded from the
cluster before the 2-pc commences.
We detect dead nodes using JGroups' failure detection protocols - FD and FD_SOCK. See
JGroups docs for details on this.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4006429#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...