Re: Stabilize and shorten test_checksums/013_rewind test

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Daniel Gustafsson <daniel(at)yesql(dot)se>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Stabilize and shorten test_checksums/013_rewind test
Date: 2026-10-19 07:00:43
Message-ID: 93b93478-6624-43f8-b4d4-c743d73ad1d0@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Daniel,

29.09.2026 10:26, Daniel Gustafsson wrote:
> This patchset was committed yesterday. Thanks for the investigation and fixes!

Could you please look at two more stability issues with
003_standby_restarts.pl? One was unveiled today by hippopotamus [1]:
#   Failed test 'ensure checksums are set to inprogress-on on standby_restarts_standby'
#   at /home/buildfarm/hippopotamus/buildroot/HEAD/pgsql.build/src/test/modules/test_checksums/t/DataChecksums/Utils.pm
line 69.
#          got: 'off'
#     expected: 'inprogress-on'
# Looks like you failed 1 test of 29.
t/003_standby_restarts.pl ..............
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/29 subtests

I've managed to reproduce it locally with:
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -111,2 +111,3 @@
 #include "utils/wait_event.h"
+#include "common/pg_prng.h"

@@ -2991,2 +2992,3 @@ XLogFlush(XLogRecPtr record)

+if (pg_prng_double(&pg_global_prng_state) < 0.1) pg_usleep(100000);
                XLogWrite(WriteRqst, insertTLI, false);

(and then running `make check` in a loop).
Seems to be the same issue that was fixed by 5f76ed5d6.

The other one hasn't been seen on buildfarm yet, but maybe you could find it
worth fixing in passing. This delay (proposed at [2] to reproduce other
test's failure):
--- a/src/backend/utils/activity/pgstat.c
+++ b/src/backend/utils/activity/pgstat.c
@@ -660,2 +660,3 @@ pgstat_shutdown_hook(int code, Datum arg)

+pg_usleep(100000);
     pgstat_report_stat(true);

makes this test fail as below:
# +++ tap check in src/test/modules/test_checksums +++
t/003_standby_restarts.pl .. 6/? # poll_query_until timed out executing this query:
# SELECT setting FROM pg_catalog.pg_settings WHERE name = 'data_checksums';
# expecting this output:
# on
# last actual query output:
# off
# with stderr:
t/003_standby_restarts.pl .. 14/?
#   Failed test 'ensure data checksums are transitioned to on on standby_restarts_primary'
#   at .../src/test/modules/test_checksums/t/DataChecksums/Utils.pm line 94.
#          got: '0'
#     expected: '1'
# poll_query_until timed out executing this query:
# SELECT setting FROM pg_catalog.pg_settings WHERE name = 'data_checksums';
# expecting this output:
# on
# last actual query output:
# off
# with stderr:
t/003_standby_restarts.pl .. 15/?
#   Failed test 'ensure data checksums are transitioned to on on standby_restarts_standby'
#   at .../src/test/modules/test_checksums/t/DataChecksums/Utils.pm line 94.
#          got: '0'
#     expected: '1'
t/003_standby_restarts.pl .. 26/? # Looks like you failed 2 tests of 29.
t/003_standby_restarts.pl .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/29 subtests

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hippopotamus&dt=2026-10-18%2022%3A15%3A04

Best regards,
Alexander

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2026-10-19 07:06:59 Re: [PG19] Three bugs with a CHECK constraint that only the child enforces
Previous Message Peter Smith 2026-10-19 06:57:31 DOCS - CREATE PUBLICATION wording re 'ONLY' for partitioned tables.