Re: MultiXactId error after upgrade to 9.3.4

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MultiXactId error after upgrade to 9.3.4
Date: 2014-03-31 12:19:12
Message-ID: 20140331121912.GU9567@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund wrote:
> On 2014-03-31 08:54:53 -0300, Alvaro Herrera wrote:
> > My conclusion here is that some part of the code is failing to examine
> > XMAX_INVALID before looking at the value stored in xmax itself. There
> > ought to be a short-circuit. Fortunately, this bug should be pretty
> > harmless.
> >
> > .. and after looking, I'm fairly sure the bug is in
> > heap_tuple_needs_freeze.
>
> heap_tuple_needs_freeze() isn't *allowed* to look at
> XMAX_INVALID. Otherwise it could miss freezing something still visible
> on a standby or after an eventual crash.

Ah, you're right. It even says so on the comment at the top (no
caffeine yet.) But what it's doing is still buggy, per this report, so
we need to do *something* ...

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2014-03-31 12:30:30 Re: MultiXactId error after upgrade to 9.3.4
Previous Message Andres Freund 2014-03-31 11:57:13 Re: MultiXactId error after upgrade to 9.3.4