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

Pedro pruivo at gsd.inesc-id.pt
Fri Mar 23 16:02:11 EDT 2012


Hi,

Comments inline.

Cheers,
Pedro

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
enabled).

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



More information about the infinispan-dev mailing list