Re: SSI and 2PC - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: SSI and 2PC
Date
Msg-id 4D2CA445.1080700@enterprisedb.com
Whole thread Raw
In response to Re: SSI and 2PC  (Florian Pflug <fgp@phlo.org>)
Responses Re: SSI and 2PC  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Re: SSI and 2PC  (Florian Pflug <fgp@phlo.org>)
List pgsql-hackers
On 11.01.2011 20:08, Florian Pflug wrote:
> Unfortunately, it seems that doing things this way will undermine the guarantee
> that retrying a failed SSI transaction won't fail due to the same conflict as
> it did originally. Consider
>
> T1>  BEGIN TRANSACTION ISOLATION SERIALIZABLE
> T1>  SELECT * FROM T
> T1>  UPDATE T ...
> T1>  PREPARE TRANSACTION
>
> T2>  BEGIN TRANSACTION ISOLATION SERIALIZABLE
> T2>  SELECT * FROM T
> T2>  UPDATE T ...
>      ->  Serialization Error
>
> Retrying T2 won't help as long as T1 isn't COMMITTED.

T2 should block until T1 commits. I would be very surprised if it 
doesn't behave like that already. In general, a prepared transaction 
should be treated like an in-progress transaction - it might still abort 
too.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: SSI and 2PC
Next
From: "Kevin Grittner"
Date:
Subject: Re: SSI and 2PC