From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Fixing a couple of buglets in how VACUUM sets visibility map bits |
Date: | 2023-01-10 20:08:27 |
Message-ID: | CAH2-WzkWON4OCf9x7-eEUSrBm2y1BfDxhBOc4h+x2R4T_9c3aA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jan 10, 2023 at 11:47 AM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> In summary, I think that there is currently no way that we can have
> the VM (or the PD_ALL_VISIBLE flag) concurrently unset, while leaving
> the page all_frozen. It can happen and leave the page all_visible, but
> not all_frozen, due to these very fine details. (Assuming I haven't
> missed another path to the problem with aborted Multis or something,
> but looks like I haven't.)
Actually, FreezeMultiXactId() can fully remove an xmax that has some
member XIDs >= OldestXmin, provided FRM_NOOP processing isn't
possible, at least when no individual member is still running. Doesn't
have to involve transaction aborts at all.
Let me go try to break it that way...
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2023-01-10 20:18:59 | Re: Fixing a couple of buglets in how VACUUM sets visibility map bits |
Previous Message | Robert Haas | 2023-01-10 19:52:20 | Re: logical decoding and replication of sequences, take 2 |