BUG #6291: Xid epoch is not updated properly

From: "Daniel Farina" <daniel(at)heroku(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6291: Xid epoch is not updated properly
Date: 2011-11-13 22:15:42
Message-ID: 201111132215.pADMFgvH080387@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6291
Logged by: Daniel Farina
Email address: daniel(at)heroku(dot)com
PostgreSQL version: 9.0.5
Operating system: Ubuntu 10.04
Description: Xid epoch is not updated properly
Details:

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. However, pg_controldata does properly report a
> 4^32 number, and so far it appears the database otherwise functions
normally. Here's a snippet:

Latest checkpoint's NextXID: 0/2131670
Latest checkpoint's NextOID: 1416740
Latest checkpoint's NextMultiXactId: 1119
Latest checkpoint's NextMultiOffset: 3115
Latest checkpoint's oldestXID: 4131117606
Latest checkpoint's oldestXID's DB: 16385
Latest checkpoint's oldestActiveXID: 0

The result is the following documentation at
"http://www.postgresql.org/docs/9.0/static/functions-info.html" is
dangerously misleading:

"The internal transaction ID type (xid) is 32 bits wide and wraps around
every 4 billion transactions. However, these functions export a 64-bit
format that is extended with an "epoch" counter so it will not wrap around
during the life of an installation. The data type used by these functions,
txid_snapshot, stores information about transaction ID visibility at a
particular moment in time. Its components are described in Table 9-53."

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2011-11-13 23:27:11 Re: BUG #6291: Xid epoch is not updated properly
Previous Message alextc 2011-11-12 13:10:55 Re: BUG #4335: Error w/ PostgreSQL & EnterpriseDB Stack Builder