[jboss-dev-forums] [Design of JBossCache] - Re: New state transfer in JBoss Cache
bstansberry@jboss.com
do-not-reply at jboss.com
Fri Dec 14 15:58:05 EST 2007
Do you mean you see a problem with getting the state even with MVCC in place?
Either way, MVCC is quite a ways off and we discussed support for P/L and O/L for at least a year after it's available. So, I think we need to get a reasonable solution for the P/L and O/L cases ASAP.
Re: the "queue messages during state transfer" approach discussed on the wiki, we have (in the 1.4.X branch at least) an existing implementation that is very close to what is discussed. Partial state transfer done during region activation implements the message queueing; it should be fairly trivial to extend the same logic to the full initial state transfer.
Responding positively to prepare even though we just queue the message still worries me; one concern is D receives things in different order than A did due to message retransmission. One possible way to mitigate this is to add some intelligence to how the queue gets applied; e.g. before applying a prepare, look for rollback or commit; discard both if rollback, move commit up in queue so it gets applied immediately.
The queuing bit for partial state transfer was implemented because we were using RPC calls for that rather than JGroups state transfer. With JG state transfer we could get the same effect from the JGroups layer using digests/retransmission. However, JGroups couldn't do the prepare/rollback/commit matching I discuss above. Also, JGroups will only detect and retransmit missing messages next time a sender sends, which potentially could be a long time (maybe never).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113077#4113077
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113077
More information about the jboss-dev-forums
mailing list