Re: testing HS/SR - 1 vs 2 performance

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndQuadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Erik Rijkers <er@xs4all.nl>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2010-04-27T18:13:33Z
Lists: pgsql-hackers
On Tue, 2010-04-27 at 13:52 -0400, Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > v3 attached
> 
> This patch changes KnownAssignedXidsRemove() so that failure to find
> the target XID is elog(ERROR) (ie, a PANIC, since this is in the
> startup process).  

Not in all cases. The code is correct, as far as I am aware from
testing.

> However, this comment is still there:
> 	/*
> 	 * We can fail to find an xid if the xid came from a subtransaction that
> 	 * aborts, though the xid hadn't yet been reported and no WAL records have
> 	 * been written using the subxid. In that case the abort record will
> 	 * contain that subxid and we haven't seen it before.
> 	 */
> 
> WTF?  Either the comment is wrong or this should not be an elog
> condition.

That section of code has been rewritten many times. I think it is now
inaccurate and should be removed. I left it there because the
unfortunate history of the project has been the removal of comments and
then later rediscovery of the truth, sometimes more than once. I could
no longer reproduce that error; someone else may know differently.

-- 
 Simon Riggs           www.2ndQuadrant.com