Re: Hot Standby: subxid cache changes

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Hot Standby: subxid cache changes
Date: 2009-02-12 12:16:37
Message-ID: 1234440997.4500.1010.camel@ebony.2ndQuadrant
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Thu, 2009-02-12 at 09:50 +0200, Heikki Linnakangas wrote:

> It occurs to me that we don't need this patch for hot standby if we
> abuse the main xid array (SnapshotData.xip) to store the unobserved xids
> instead of the subxid array. That one is always scanned in
> XidInMVCCSnapshot. I think we should do that rather than try to salvage
> this patch.

At this stage, yes.

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

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.

I think we can rework the other aspects also.

--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gurjeet Singh 2009-02-12 12:19:24 Fwd: Need help in porting Oracle PL/SQL's OUT paramater based procedures
Previous Message Gurjeet Singh 2009-02-12 12:13:33 Need help in porting Oracle PL/SQL's OUT paramater based procedures