Re: MultiXact member wraparound protections are disabled - Mailing list pgsql-general

From Alvaro Herrera
Subject Re: MultiXact member wraparound protections are disabled
Date
Msg-id 20161012235819.GA11474@alvherre.pgsql
Whole thread Raw
In response to MultiXact member wraparound protections are disabled  ("AnandKumar, Karthik" <Karthik.AnandKumar@classmates.com>)
Responses Re: MultiXact member wraparound protections are disabled  ("AnandKumar, Karthik" <Karthik.AnandKumar@classmates.com>)
Re: MultiXact member wraparound protections are disabled  (avi Singh <avisingh19811981@gmail.com>)
List pgsql-general
AnandKumar, Karthik wrote:
> Hi,
>
> We run postgres 9.4.5.
>
> Starting this morning, we started seeing messages like the below:
> Oct 12 14:07:15 site-db01a postgres[11253]: [106430-1] app=,user=,db=,ip=LOG:  MultiXact member wraparound
protectionsare disabled because oldest checkpointed MultiXact 1 does not exist on disk 
> Oct 12 14:09:26 site-db01a postgres[11253]: [106526-1] app=,user=,db=,ip=LOG:  MultiXact member wraparound
protectionsare disabled because oldest checkpointed MultiXact 1 does not exist on disk 
> Oct 12 14:14:18 site-db01a postgres[11253]: [106608-1] app=,user=,db=,ip=LOG:  MultiXact member wraparound
protectionsare disabled because oldest checkpointed MultiXact 1 does not exist on disk 
>
> Our autovacuum_freeze_max_age = 1750000000.
>
> site=# SELECT datname, age(datfrozenxid) FROM pg_database;
>  datname  |    age
> -----------+------------
> site      | 1645328344
> template0 | 1274558807
> bench     | 1274558807
> postgres  | 1324283514
> template1 | 1274558807
>
> So we’re about 100 mil transactions away before we start vacuuming to prevent wraparound.
>
> We’re running precautionary vacuums on our largest offenders to try and drop our transaction ids
>
> What I’d request some clarity on is the message above. What does it mean that "oldest checkpointed MultiXact does not
existon disk”? Would we lose data if we did have to wrap around? 
>
> Is this telling us we’re not vacuuming effectively enough?

Ugh.  Can you share the output of pg_controldata and the list of files
in pg_multixact/members and pg_multixact/offset?

The problem here is that multixact vacuuming is separate from xid
vacuuming, so you need to be looking at datminmulti rather than
datfrozenxid.  It may be that multixact wrap around has already
occurred.

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


pgsql-general by date:

Previous
From: "AnandKumar, Karthik"
Date:
Subject: MultiXact member wraparound protections are disabled
Next
From: "AnandKumar, Karthik"
Date:
Subject: Re: MultiXact member wraparound protections are disabled