Re: BUG #6291: Xid epoch is not updated properly

From: Daniel Farina <daniel(at)heroku(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6291: Xid epoch is not updated properly
Date: 2011-11-14 06:30:09
Message-ID: CAAZKuFb3FaO=emaz6OGb0_32bdzzvb7SkKEJF4jxN_f-Ft7+5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sun, Nov 13, 2011 at 3:27 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Daniel Farina" <daniel(at)heroku(dot)com> writes:
>> We have on hand a database that makes heavy use of the txid_snapshot family
>> of functions, and recently it just passed its 4^32 transaction mark.
>> Unfortunately, upon wraparound the xid epoch appears to not have been
>> incremented, remaining at 0.
>
> I failed to reproduce this here, and a look at the code responsible for
> xid epoch maintenance reveals no obvious way that it could have been
> bypassed.  So there's some fairly critical piece of context that you're
> not telling us ...

Hmm, the database has nothing particularly special about it; I also
reviewed the epoch code and don't see any simple oversight. On the
other hand, I should have the WAL that plays past the epoch wrap, so I
can instrument some telltale bit of code; if you have any special
suggestion about the diagnostics I'd like to hear them.

Also, do you see anything strange about the pg_controldata as-is? I'm
looking at in particular the greater-than 2**32 oldestXID seems in
line with expectation, yet calling txid_current et-al exposes a number
in the hundreds of thousands, as reflected in nextXID.

--
fdr

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message David Pinheiro 2011-11-14 16:31:02 BUG #6292: java.sql.PreparedStatement.setNull() throws PSQLException
Previous Message Robert Haas 2011-11-14 02:35:58 Re: BUG #4335: Error w/ PostgreSQL & EnterpriseDB Stack Builder