I agree that a solution needs to exist for O/L and P/L as well as MVCC - not only because
we don't have MVCC right now, but also because even after we do, people will still
have the choice to use the more tried-and-tested O/L and P/L.
Regarding responding positively to a prepare, perhaps I'm missing something here - why
would it be wrong for new joiner - D - to respond positively?
Let's look at it the other way around. Why would an existing node, say, C, respond
negatively? IMO there are only 2 scenarios where C would respond negatively to a prepare
from A:
1. There is another local transaction on C that holds locks on the same data.
2. There is another concurrent prepare, say from B, on the same data.
(Have I missed anything?)
Now neither of these reasons for a negative response to a prepare should apply to the new
joiner, D:
1. would never happen since the new joiner hasn't reached the STARTED state and
isn't accepting any local transactions.
2. D doesn't care about conflicting remote prepares since at least someone else in
the cluster would have detected this and the prepare would roll back anyway. E.g., if A
and B broadcast prepares on the same data and D responds positively to both, either A or B
will fail on each other's prepares and broadcast a rollback anyway.
Thoughts?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113205#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...