[jboss-dev-forums] [Design of JBossCache] - Re: New state transfer in JBoss Cache

manik.surtani@jboss.com do-not-reply at jboss.com
Sun Dec 16 07:54:10 EST 2007


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#4113205

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113205



More information about the jboss-dev-forums mailing list