Re: Missing FSM Update when Updating VM On-access

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: Missing FSM Update when Updating VM On-access
Date: 2026-07-10 22:37:37
Message-ID: CAAKRu_aLhWq+gtXWwjNMqTRVQ74HDtAoAAtDSb+1NFgseeppaQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Jul 4, 2026 at 2:41 PM Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>
> A dedicated test would be nice but is difficult here: on-access VM-setting is
> nondeterministic (see the enum/plancache flakiness earlier), and even a TAP
> test with autovacuum off + forced horizon advancement would likely be
> unstable on the buildfarm - so it might even be net negative.

Yea, I couldn't come up with a test that would behave.

> One comment nit: the reserve behavior is preserved (we skip the FSM update
> unless the page became newly_all_visible), but the outer comment explaining
> *why* we don't update the FSM in the common case is gone; the rationale now
> survives only as a parenthetical inside the `if (presult.newly_all_visible)`
> block. A one-line note at the point where we *skip* the update would spare a
> future reader from wondering why it isn't unconditional.

I massaged the comments a bit. I originally omitted the other comment
because I was suspicious of it (see Andres' complaint about the
comment upthread). But I think I captured the part of it that we want
to preserve in my revised comments.

> Thanks for working on this!

Thanks for taking a look!

- Melanie

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message SATYANARAYANA NARLAPURAM 2026-07-10 22:40:30 Reduce cleanup lock contention on standby replay
Previous Message Melanie Plageman 2026-07-10 22:35:38 Re: Missing FSM Update when Updating VM On-access