Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae
От | Robert Haas |
---|---|
Тема | Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae |
Дата | |
Msg-id | CA+TgmoZk19atnje-pCoj2CVuPS5FnGZdVsbqJ0vNZOvcXhYmqA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae (Melanie Plageman <melanieplageman@gmail.com>) |
Ответы |
Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae
|
Список | pgsql-bugs |
On Fri, Mar 22, 2024 at 2:41 PM Melanie Plageman <melanieplageman@gmail.com> wrote: > I'm still catching up here, so forgive me if this is a dumb question: > Does using GlobalVisState instead of VacuumCutoffs->OldestXmin when > freezing and determining relfrozenxid not solve the problem? I think we need to understand what's actually happening here before we jump to solutions. I think it's clear that we can't determine a relfrozenxid in a way that is untethered from the decisions made while pruning, but surely whoever wrote this code intended for there to be some relationship between GlobalVisState and VacuumCutoffs->OldestXmin. For example, it may be that they intended for VacuumCutoffs->OldestXmin to always contain an XID that is older than any XID that the GlobalVisState could possibly have pruned; but they might have done that incorrectly, in such a fashion that when GlobalVisState->maybe_needed moves backward the intended invariant no longer holds. But I think that we surely cannot think that they just threw some XID that fell off the cart into VacuumCutoffs->OldestXmin and some other XID that they pulled out of the air into GlobalVisState and hoped everything worked out. It seems really likely that they had some reason for thinking that we needed two things here rather than just one. If not, OK, let's get rid of one of them and make it simpler, but if we just assume that there's no real reason for having both fields here and simplify accordingly, we're probably just going to be trading this bug for some other one. -- Robert Haas EDB: http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления: