Re: Incorrect logic in XLogNeedsFlush()
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Jeff Davis <pgsql@j-davis.com>,
Melanie Plageman <melanieplageman@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2025-09-12T03:15:36Z
Lists: pgsql-hackers
Attachments
- 0001-Make-XLogFlush-and-XLogNeedsFlush-decision-more-cons.patch (application/octet-stream) patch 0001
On Fri, Sep 12, 2025 at 8:07 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Thu, Sep 11, 2025 at 4:51 AM Michael Paquier <michael@paquier.xyz> wrote: > > > > On Wed, Sep 10, 2025 at 09:58:08AM -0700, Jeff Davis wrote: > > > It seems like XLogFlush() and XLogNeedsFlush() should use the same > > > test, otherwise you could always get some confusing inconsistency. > > > Right? > > > > Even if the checks are duplicated (dependency could be documented as > > well), it would make sense to me to plant a check of XLogNeedsFlush() > > inside XLogFlush(), I think. I have not tried if some parts of the > > tests blow up when trying to do that even after switching > > XLogNeedsFlush() to check if WAL inserts are allowed rather than if we > > are in recovery. > > +1, it really makes XLogFlush() to directly check using > XLogNeedsFlush() after adding the "WAL inserts are allowed" check in > XLogNeedsFlush(), this is the best way to avoid any inconsistencies in > future as well. I tried with the attached patch, at least check-world reports no issue. -- Regards, Dilip Kumar Google
Commits
-
Reorder XLogNeedsFlush() checks to be more consistent
- bb68cde4136b 19 (unreleased) landed
-
Make XLogFlush() and XLogNeedsFlush() decision-making more consistent
- deb208df4559 19 (unreleased) landed