postgres.git / summary / log / commit / refs

commit    fdb69dd582427e4976897d544867e65a0e767002
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Sat Apr 12 04:09:48 2025 +0000
First released in: 18.0

    Fix instability with WAL fsync test in stats.sql
    
    A backend using wal_sync_method set to "open_sync" or "open_datasync"
    would fail the test checking the WAL sync data in pg_stat_io.  These
    modes guarantee that a sync is done when WAL is written to disk, and the
    data checked by the test is not incremented in this case,
    issue_xlog_fsync() doing nothing.
    
    Oversight in commit a051e71e28a1.
    
    Author: Sami Imseih <samimseih@gmail.com>
    Discussion: https://postgr.es/m/CAA5RZ0uxwg3xAi4nvdBMJ-zJQEeyg+RotuU+ebM2F6CKmnvaYA@mail.gmail.com


src/test/regress/expected/stats.out | 1 + src/test/regress/sql/stats.sql | 1 + 2 files changed, 2 insertions(+) diff --git a/src/test/regress/expected/stats.out b/src/test/regress/expected/stats.out index cd08a2ca0af..776f1ad0e53 100644 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@ -1456,6 +1456,7 @@ SELECT :io_sum_wal_normal_after_writes > :io_sum_wal_normal_before_writes; (1 row) SELECT current_setting('fsync') = 'off' + OR current_setting('wal_sync_method') IN ('open_sync', 'open_datasync') OR :io_sum_wal_normal_after_fsyncs > :io_sum_wal_normal_before_fsyncs; ?column? ---------- diff --git a/src/test/regress/sql/stats.sql b/src/test/regress/sql/stats.sql index c223800fd19..232ab8db8fa 100644 --- a/src/test/regress/sql/stats.sql +++ b/src/test/regress/sql/stats.sql @@ -672,6 +672,7 @@ SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs SELECT current_setting('synchronous_commit') = 'on'; SELECT :io_sum_wal_normal_after_writes > :io_sum_wal_normal_before_writes; SELECT current_setting('fsync') = 'off' + OR current_setting('wal_sync_method') IN ('open_sync', 'open_datasync') OR :io_sum_wal_normal_after_fsyncs > :io_sum_wal_normal_before_fsyncs; -- Change the tablespace so that the table is rewritten directly, then SELECT [parent: 847bbb21f8c4]