Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts - Mailing list pgsql-hackers

From Tom Lane
Subject Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
Date
Msg-id 17713.1318878230@sss.pgh.pa.us
Whole thread Raw
In response to HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
List pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> I just noticed that HeapTupleHeaderAdvanceLatestRemovedXid is comparing Xmax as a TransactionId without verifying
whetherit is a multixact or not.  Since they advance separately, this could lead to bogus answers.  This probably needs
tobe fixed.  I didn't look into past releases to see if there's a live released bug here or not.
 

> I think the fix is simply to ignore the Xmax if the HEAP_XMAX_IS_MULTI bit is set.

> Additionally I think it should check HEAP_XMAX_INVALID before reading the Xmax at all.

If it's failing to even check XMAX_INVALID, surely it's completely
broken?  Perhaps it assumes its caller has checked all this?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
Next
From: Simon Riggs
Date:
Subject: Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts