Re: BUG #17255: Server crashes in index_delete_sort_cmp() due to race condition with vacuum
От | Peter Geoghegan |
---|---|
Тема | Re: BUG #17255: Server crashes in index_delete_sort_cmp() due to race condition with vacuum |
Дата | |
Msg-id | CAH2-WzmMXTRWtmaXB+51RDw5xY1A9kfEpOQ=WYVQrC9Skf1G0w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #17255: Server crashes in index_delete_sort_cmp() due to race condition with vacuum (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: BUG #17255: Server crashes in index_delete_sort_cmp() due to race condition with vacuum
|
Список | pgsql-bugs |
On Thu, Mar 10, 2022 at 8:08 PM Andres Freund <andres@anarazel.de> wrote: > But that's probably best done separately - but perhaps worth to "weaken" the > comment a bit? I'm confused again. I don't get why it's only going to be worth delaying establishing vistest if we can also delay establishing OldestXmin in about the same way. AFAICT the only compelling reason to have two separate cutoffs from the point of view of vacuumlazy.c is that it enables periodically refreshing vistest within lazy_scan_prune, to allow it to prune dead tuples more eagerly (fewer recently dead tuples, more dead removed tuples). That I can see, that much I get. Periodically refreshing OldestXmin for freezing won't work, though. At the very least it seems much less compelling than the vistest idea. Yes, it probably is true that we could in principle further split OldestXmin along "xmin vs xid horizon" lines (I should say "split it again" -- you already split OldestXmin into "OldestXmin for freezing, vistest for pruning" as part of your snapshot scalability work). But would it really make any sense? If so, I can't see why. At least not right now. -- Peter Geoghegan
В списке pgsql-bugs по дате отправления: