Re: 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>
Subject: Re: Subtransaction commits and Hot Standby
Date: 2008-10-07 12:50:38
Message-ID: 1223383838.4747.154.camel@ebony.2ndQuadrant
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


On Sun, 2008-10-05 at 14:51 -0400, Alvaro Herrera wrote:
> Simon Riggs wrote:
>
> > 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.
>
> I had a look and was mostly rephrasing some comments and the README
> (hopefully I didn't make any of them worse than they were), when I
> noticed that the code to iterate thru pages could be refactored. I
> think the change makes the algorithm in TransactionIdSetTreeStatus
> easier to follow.

Yes, all fits on one screen when reading it now.

> I also noticed that TransactionIdSetPageStatus has a "subcommit" arg
> which is unexplained. I sort-of understand the point, but I think it's
> better that you fill in the explanation in the header comment (marked
> with XXX)

I've changed the logic slightly to remove the need for the subcommit
argument. So no need to explain now.

Added an Assert to check for what should be an impossible call.

Example provided in comments for a complex update.

> I hope I didn't break the code with the new function
> set_tree_status_by_pages -- please recheck that part.

Renamed to set_status_by_pages because we never use this on the whole
tree. Added comments to say that.

Overall, cleaner and more readable now. Thanks.

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

Attachment Content-Type Size
atomic_subxids.v7.patch text/x-patch 30.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2008-10-07 12:56:23 Re: Reducing some DDL Locks to ShareLock
Previous Message Guillaume Lelarge 2008-10-07 12:34:08 Re: Weird behaviour with ALTER TABLE ... SET TABLESPACE ... statement

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2008-10-07 14:08:47 Re: [PATCHES] Infrastructure changes for recovery
Previous Message Simon Riggs 2008-10-07 08:17:25 Re: [PATCHES] Infrastructure changes for recovery