Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby. - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby.
Date
Msg-id 1224709083.27145.493.camel@ebony.2ndQuadrant
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby.
List pgsql-hackers
On Wed, 2008-10-22 at 16:41 -0400, Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > It's nothing to do with confusing commit/abort.
> 
> > The new way of doing things on commit is to subcommit then commit. This
> > sequence is repeated during WAL replay. If we crash, it will try to
> > repeat the sequence, so in some cases it will try to set status to
> > subcommitted on a transaction already marked as committed.
> 
> Hmm, but then why did we not see the same thing before?

The failure definitely came from trying to set SUBCOMMITTED on a
transaction already committed. I drew the wrong initial conclusion from
the Assert, which applied only to normal running, not recovery.

As you suggested, something to do with sequencing of checkpoints?

Previously the error showed itself consistently on the second run on
make installcheck. The attached patch succeeds consistently at the same
place. And keeps succeeding on third, fourth, fifth times.

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



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Deriving Recovery Snapshots
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby.