Re: Infinite loop in GetMultiXactIdMembers() on 9.3.5 (involves pg_upgrade)

From: David Gould <daveg(at)sonic(dot)net>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Subject: Re: Infinite loop in GetMultiXactIdMembers() on 9.3.5 (involves pg_upgrade)
Date: 2015-01-28 10:09:54
Message-ID: 20150128020954.67c90837@jekyl.lan
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, 27 Jan 2015 19:56:43 -0800
Peter Geoghegan <pg(at)heroku(dot)com> wrote:

> I've since found BUG #11264, which seems to be the same issue...don't
> know how I missed that one before. I see that Alvaro committed
> something that at least addresses the non-interruptibility issue
> directly, with a call to CHECK_FOR_INTERRUPTS() (commit d45e8dc52).
> But I don't see any follow up addressing the bug itself, which I'd
> hoped for. Did the discussion of BUG #11264 simply trail off without
> an adequate resolution, as it appeared to?

Sadly yes. I have hit the same problem and expect others will too. Alvaro
suggested updating datminmxid to the oldest relminmxid will prevent
this. I have written a script to do this, but not quite finished it as
I was unsure what to do with the cases where nextMultiXactId in
pg_controldata is < min(relminmxid) without looking at it more closely.

I have attached the script (work in progress) in hopes it is useful
or that someone can clarify how to calculate the correct datminmxid.

-dg

--
David Gould 510 282 0869 daveg(at)sonic(dot)net
If simplicity worked, the world would be overrun with insects.

Attachment Content-Type Size
fix_minmxid.sh application/x-shellscript 2.6 KB

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message patrick 2015-01-28 10:18:39 BUG #12690: EXECUTE statement fails with dynamic column name on record variable
Previous Message Heikki Linnakangas 2015-01-28 07:16:23 Re: BUG #12670: Can't create postgis extension in single-user mode