Re: ERROR: MultiXactId xxxx has not been created yet -- apparent wraparound - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: ERROR: MultiXactId xxxx has not been created yet -- apparent wraparound
Date
Msg-id 20150526150159.GV5885@postgresql.org
Whole thread Raw
In response to ERROR: MultiXactId xxxx has not been created yet -- apparent wraparound  (Paul Smith <paul@pscs.co.uk>)
Responses Re: ERROR: MultiXactId xxxx has not been created yet -- apparent wraparound  (Paul Smith <paul@pscs.co.uk>)
List pgsql-hackers
Paul Smith wrote:
> With PostgreSQL 9.3.5 on Ubuntu 12.04, I'm getting the error:
> 
> ERROR:  MultiXactId 1934308693 has not been created yet -- apparent
> wraparound
> 
> on doing various queries on our database. I don't think it is a wraparound -
> I think the tuple has mistakenly decided it has a MultiXactId related to it.

Yeah, that looks like the case.  According to your pg_controldata
output, you haven't used many multixacts at all:

> Latest checkpoint's NextMultiXactId:  216
> Latest checkpoint's NextMultiOffset:  439

and the fact that you only have these files:

> The pg_multixact directory contains two files
> members/0000
> offsets/0000

confirms this.  You XID counter is also rather low, only 24 million:

> Latest checkpoint's NextXID:          0/24005839

so it doesn't seem plausible that the single bit HEAP_XMAX_IS_MULTI was
turned on accidentally (something which I've never seen happen).

It doesn't look like a randomly corrupt page either; normally you would
see errors about mismatching page headers before you get to the point
where Xmax is read.  I wonder if the data page came from elsewhere.
Maybe you copied a data file from another database?

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: "unaddressable bytes" in BRIN
Next
From: Andrew Dunstan
Date:
Subject: Re: fsync-pgdata-on-recovery tries to write to more files than previously