Re: BUG #4929: Corrupted pg_class, possibly truncate/rollback related - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #4929: Corrupted pg_class, possibly truncate/rollback related
Date
Msg-id 2196.1248140909@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #4929: Corrupted pg_class, possibly truncate/rollback related  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-bugs
Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
> However I'm wondering if another 8.3.4 fix, the RecentGlobalXmin one,
> could be relevant here?
> http://archives.postgresql.org/pgsql-committers/2008-09/msg00105.php
> (I'm not seeing how it would be, but... note that the xids have got
> to the point that they'd appear to be in the past from the point of
> view of FirstNormalTransactionId)

Hmmm ... I think you're onto something.  My original speculation at
http://archives.postgresql.org/message-id/29544.1221061979@sss.pgh.pa.us
included a worry that the HOT patch could try to use RecentGlobalXmin
before it had gotten set.  In particular, before the patch you mention
above, the InitPostgres transaction would be running around and doing
quite a lot of system catalog access with an unset RecentGlobalXmin.
If it happened to try to execute heap_page_prune on a pg_class page,
there would be a risk of deciding that some valid tuple wasn't valid.
I don't have time to try to trace through the logic and see if this
explains Robert's problem, though.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: BUG #4929: Corrupted pg_class, possibly truncate/rollback related
Next
From: Tom Lane
Date:
Subject: Re: Bug 4906 -- Left join of subselect incorrect