Re: Hot Standby: subxid cache changes - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Hot Standby: subxid cache changes
Date
Msg-id 499414DE.5080303@enterprisedb.com
Whole thread Raw
In response to Re: Hot Standby: subxid cache changes  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Hot Standby: subxid cache changes
List pgsql-hackers
Simon Riggs wrote:
> On Thu, 2009-02-12 at 09:50 +0200, Heikki Linnakangas wrote:
>> So far so good, but what about all the other callers of 
>> SubTransGetParent()? For example, XactLockTableWait will fail an 
>> assertion if asked to wait on a subtransaction which is then released.
> 
> I agree that it could fail the assertion, though it is clear that the
> assertion should now be removed.

No, then you just get an infinite loop instead, trying to get the parent 
of 0 over and over again.

> The logic is: if there is no lock table entry for that xid *and* it is
> not in progress *and* it is not in pg_subtrans, then it must have been
> an aborted subtransaction of a currently active xact or it has otherwise
> completed.

Right, we got it right that far. But after the subtransaction has 
completed, the question is: what's its parent? That's what the patch got 
wrong.

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


pgsql-hackers by date:

Previous
From: Gurjeet Singh
Date:
Subject: Fwd: Need help in porting Oracle PL/SQL's OUT paramater based procedures
Next
From: Richard Huxton
Date:
Subject: Re: [GENERAL] Fwd: Need help in porting Oracle PL/SQL's OUT paramater based procedures