>>>>> "Alvaro" == Alvaro Herrera <alvherre@2ndquadrant.com> writes:
>> (It can, AFAICT, be inside the currently valid range due to>> wraparound, i.e. without there being a valid
pg_multixactentry for>> it, because AFAICT in 9.2, once the mxid is hinted dead it is never>> again either looked up or
cleared,so it can sit in the tuple xmax>> forever, even through multiple wraparounds.)
Alvaro> HeapTupleSatisfiesVacuum removes very old multixacts
It does nothing of the kind; it only marks them HEAP_XMAX_INVALID. The
actual mxid remains in the tuple xmax field.
The failing mxids in the case I analyzed on -bugs are failing _in spite
of_ being already hinted HEAP_XMAX_INVALID, because the code path in
question doesn't check that.
--
Andrew (irc:RhodiumToad)