Re: MultiXactId error after upgrade to 9.3.4
От
Alvaro Herrera
Тема
Re: MultiXactId error after upgrade to 9.3.4
Дата
Msg-id
20160617033122.GA106332@alvherre.pgsql
Ответ на
Re: MultiXactId error after upgrade to 9.3.4 (Andrew Gierth)
Список
Дерево обсуждения
MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Bruce Momjian <bruce@momjian.us>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Bruce Momjian <bruce@momjian.us>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andres Freund <andres@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Stephen Frost <sfrost@snowman.net>
Re: MultiXactId error after upgrade to 9.3.4 Bruce Momjian <bruce@momjian.us>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andrew Gierth <andrew@tao11.riddles.org.uk>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Andrew Gierth <andrew@tao11.riddles.org.uk>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Robert Haas <robertmhaas@gmail.com>
Re: MultiXactId error after upgrade to 9.3.4 Andrew Gierth <andrew@tao11.riddles.org.uk>
Re: MultiXactId error after upgrade to 9.3.4 Robert Haas <robertmhaas@gmail.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: MultiXactId error after upgrade to 9.3.4 Alvaro Herrera <alvherre@2ndquadrant.com>
Andrew Gierth wrote: > But that leaves an obvious third issue: it's all very well to ignore the > pre-upgrade (pre-9.3) mxid if it's older than the cutoff or it's in the > future, but what if it's actually inside the currently valid range? > Looking it up as though it were a valid mxid in that case seems to be > completely wrong and could introduce more subtle errors. You're right, we should not try to resolve a multixact coming from the old install in any case. > (It can, AFAICT, be inside the currently valid range due to wraparound, > i.e. without there being a valid pg_multixact entry 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.) HeapTupleSatisfiesVacuum removes very old multixacts; see the HEAP_IS_LOCKED block starting in line 1162 where we set HEAP_XMAX_INVALID for multixacts that are not running by falling through. It's not a strict guarantee but this probably explains why this problem is not more common. > Why is the correct rule not "check for and ignore pre-upgrade mxids > before even trying to fetch members"? I propose something like the attached patch, which implements that idea. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления
От: Amit Kapila
Дата: