Re: MultiXact bugs

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Kevin Grittner <kgrittn(at)ymail(dot)com>
Cc: Dan Ports <drkp(at)csail(dot)mit(dot)edu>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MultiXact bugs
Date: 2013-11-29 21:34:42
Message-ID: 20131129213442.GD14712@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2013-11-29 22:27:16 +0100, Andres Freund wrote:
> Looking at predicate.c I think I see a bigger problem though: Isn't its
> usage of HeapTupleSatisfiesVacuum() quite dangerous? It passes
> TransactionXmin to HeapTupleSatisfiesVacuum(). But since that's just the
> transaction's own cutoff, not the global cutoff that will cause wrong
> hint bits to be set. Or am I missing something?
> HTSV's comment says:
> *
> * OldestXmin is a cutoff XID (obtained from GetOldestXmin()). Tuples
> * deleted by XIDs >= OldestXmin are deemed "recently dead"; they might
> * still be visible to some open transaction, so we can't remove them,
> * even if we see that the deleting transaction has committed.
> */

Strike that, sorry for the noise. I was thinking there was some
conditional hint bit setting based on OldestXmin in there, but I was
misremembering.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-11-29 21:48:13 Re: [RFC] overflow checks optimized away
Previous Message Andres Freund 2013-11-29 21:28:12 Re: MultiXact truncation, startup et al.