[infinispan-dev] Non-blocking state transfer (ISPN-1424)
Bela Ban
bban at redhat.com
Fri Mar 23 06:45:24 EDT 2012
Thanks for the feedback and clarifications Dan !
Comments inline...
>> Over the last couple of days, I've exchanged a couple of emails with the
>> Cloud-TM guys, and I'm more and more convinced that their total order
>> solution is the simpler approach to (1) transactional updates and (2)
>> state transfer. They don't have a solution for (2) yet, but I believe
>> this can be done as another totally ordered transaction, applied in the
>> correct location within the update stream. Or, we could possibly use a
>> flush: as we don't need to wait for pending TXs to complete and release
>> their locks, this should be quite fast.
>>
>
> Sounds intriguing, but I'm not sure how making the entire state
> transfer a single transaction would allow us to handle transactions
> while that state is being transferred.
We're discussing 2 scenarios, one being the use of flush (but
short-lived as we don't have any locks in play) and the other being
Pedro's proposal of a start-state TO-cast (shipped with a keys set),
followed by a state transfer. Transactions with any keys in the key set
are queued and applied in order after the state transfer is done
(signalled with abother stop-state TO-cast).
If you have anything to add, let's discuss it on the other thread.
>> So my 5 cents:
>>
>> #1 We should focus on the total order approach, and get rid of the 2PC
>> and locking business for transactional updates
>>
>
> The biggest problem I remember total order having is TM transactions
> that have other participants (as opposed to cache-only transactions).
> I haven't followed the TO discussion on the mailing list very closely,
> does that work now?
No, I don't think that's addressed by TOM, good point in favor of having
2 (or more) approaches to partial replication and state transfer !
I think a lot of systems would still benefit from TOM though as there
are no external participants, for instance session replication: it uses
an Infinispan batch to ship session updates to the session owners, and
there are no other participants (as a matter of fact, this is not even a
JTA transaction anyway).
> Regarding state transfer in particular, remember, non-blocking state
> transfer with 2PC sounded very easy as well, before we got into the
> details.
True :-)
>> #2 Really focus on the eventual consistency approach
>>
>
> Again, it's very tempting, but I fear much of what makes eventual
> consistency tempting is that we don't know enough of its
> implementation details yet.
True again...
> Manik has been investigating eventual consistency for a while, I
> wonder what he thinks...
Yep - Manik, do you have any status update on eventual consistency ?
--
Bela Ban, JGroups lead (http://www.jgroups.org)
More information about the infinispan-dev
mailing list