[infinispan-dev] Non-blocking state transfer (ISPN-1424)

classic Classic list List threaded Threaded
21 messages Options
Reply | Threaded
Open this post in threaded view

Re: [infinispan-dev] Non-blocking state transfer (ISPN-1424)

Pedro Ruivo

Comments inline.


Paolo Romano wrote:

> On 3/23/12 10:45 AM, Bela Ban wrote:
>>> 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 !
> Actually, we already have code for dealing with scenarios in which ISPN
> is involved in a distributed transaction with other participants.( Pedro
> can point it out, it should be already on github.)

The TOB code can be found here [1]. In TransactionCoordinator, it checks
if it uses 1 phase or 2 phases. Of course, like Paolo said, it only works
for TOB. In TOM, we must have the 2 phases (with write skew check

> In this case, the solution implies necessarily the usage of 2PC, but we
> can disseminate the prepare messages within ISPN using TOM.
> Pro:
> - deadlock freedom at the ISPN level, which can contribute to make of
> ISPN a well-behaved (i.e. responsive) participant in a distributed
> transaction even in high contention scenarios.
> Con:
> - in this case we cannot determine right away the outcome of a
> transaction once it is TOM-delivered, as we need to take into account
> also the votes of external participants. Hence the need for an extra
> phase.
[1] https://github.com/pruivo/infinispan/tree/t_to_pedro

infinispan-dev mailing list
[hidden email]