The limitation implied in the statement is based on 2 things:
1) We don't acquire distributed locks as methods are invoked. So, node1 may
broadcast a prepare on /a/b/c and node2 may do so as well at the same time. Both txs on
both nodes will fail as both prepares will fail.
2) The other limitation is that even after broadcasting a successful prepare and then
following up with a successful commit, if for some reason the commit does not reach a
network node (e.g., partial network failure) but reaches other nodes, there is no way to
recover consistently from this. If you use SyncCommitPhase = true in your configuration,
at least the originating node will throw an exception if everyone in the cluster does not
respond with an ack after successful commit. Depending on your app, you can handle
recovery manually at this stage.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050161#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...