From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Hot Standby: subxid cache changes |
Date: | 2009-02-12 12:23:58 |
Message-ID: | 499414DE.5080303@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2009-02-12 12:48:53 | Re: Fwd: Need help in porting Oracle PL/SQL's OUT paramater based procedures |
Previous Message | Gurjeet Singh | 2009-02-12 12:19:24 | Fwd: Need help in porting Oracle PL/SQL's OUT paramater based procedures |