| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | Antonin Houska <ah(at)cybertec(dot)at> |
| Cc: | Kirill Reshke <reshkekirill(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
| Subject: | Re: Buffer locking is special (hints, checksums, AIO writes) |
| Date: | 2026-02-10 16:49:36 |
| Message-ID: | aYtg622xasbSju7_@alap3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On 2026-02-10 08:46:27 +0100, Antonin Houska wrote:
> Andres Freund <andres(at)anarazel(dot)de> wrote:
> > I think we ought to instead restrict the page-at-a-time scans to only happen
> > with "real" mvcc snapshots. I.e. this:
> >
> > /*
> > * Disable page-at-a-time mode if it's not a MVCC-safe snapshot.
> > */
> > if (!(snapshot && IsMVCCSnapshot(snapshot)))
> > scan->rs_base.rs_flags &= ~SO_ALLOW_PAGEMODE;
> >
> > should trigger for historic snapshots as well.
>
> I suppose you mean changing it to
>
> if (!(snapshot && IsMVCCSnapshot(snapshot) &&
> !IsHistoricMVCCSnapshot(snapshot)))
> scan->rs_base.rs_flags &= ~SO_ALLOW_PAGEMODE;
Yes.
For something committable, I think we should probably split IsMVCCSnapshot
into IsMVCCSnapshot(), just accepting SNAPSHOT_MVCC, and IsMVCCLikeSnapshot()
accepting both SNAPSHOT_MVCC and SNAPSHOT_HISTORIC_MVCC. And then go through
all the existing callers of IsMVCCSnapshot() - only about half should stay
as-is, I think.
> > Does that fix the issue for you?
>
> Yes, with this change, I don't hit the problem anymore.
Great!
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-02-10 17:06:02 | Instability in postgres_fdw regression tests |
| Previous Message | Andres Freund | 2026-02-10 16:41:40 | Re: pgsql: Separate RecoveryConflictReasons from procsignals |