Re: [PATCHES] Subtransaction commits and Hot Standby

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, List pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [PATCHES] Subtransaction commits and Hot Standby
Date: 2008-09-24 21:44:19
Message-ID: 1222292659.4445.650.camel@ebony.2ndQuadrant
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers pgsql-patches

On Wed, 2008-09-24 at 13:48 +0100, Simon Riggs wrote:
> On Tue, 2008-09-23 at 22:47 +0100, Simon Riggs wrote:
> > I've tested this some more and am much happier with it now.
> The concept is fine, but I've found a coding bug in further testing.
> Please wait now for new version before review.

OK, spent long time testing various batching scenarios for this using a
custom test harness to simulate various spreads of xids in transaction
trees. All looks fine now.

The main work is done in new clog.c functions:
TransactionIdSetTreeStatus() which sets whole tree atomically by calling
TransactionIdSetPageStatus(), which in turn calls
TransactionIdSetStatusBit() for each xid status change.

TransactionIdSetPageStatus() performs locking and handles write_ok
problem, as did code it replaces. TransactionIdSetPageStatus() is called
theoretical minimum number of times for any transaction tree.

Patch slightly fumbles diff-ing new and replacement code, so there are
two chunks that appear to show I'm removing locking. I'm not!!

Everything else is just API changes.

Simon Riggs
PostgreSQL Training, Services and Support

Attachment Content-Type Size
atomic_subxids.v4.patch text/x-patch 29.2 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2008-09-24 21:57:41 Re: Upgrading pgFoundry (Was: Where to Host Project)
Previous Message Josh Berkus 2008-09-24 21:26:44 Re: Proposal of SE-PostgreSQL patches (for CommitFest:Sep)

Browse pgsql-patches by date

  From Date Subject
Next Message Simon Riggs 2008-09-25 16:27:21 Re: get_relation_stats_hook()
Previous Message Simon Riggs 2008-09-24 16:23:38 Re: hash index improving v3