Re: Instability of pg_walsummary/002_blocks.pl due to timing

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-07-07T00:18:24Z
Lists: pgsql-hackers

Attachments

On Sun, Jul 06, 2025 at 12:00:00PM +0300, Alexander Lakhin wrote:
> This test case is rather new, it was added by f4694e0f3 (from 2025-03-05).

Thanks for the report.

> I could reproduce this failure within 20 test runs with the following
> modification:
> --- a/src/backend/postmaster/walsummarizer.c
> +++ b/src/backend/postmaster/walsummarizer.c
> @@ -1544,6 +1544,7 @@ summarizer_read_local_xlog_page(XLogReaderState *state,
>                                  * so we don't tight-loop.
>                                  */
>                                 ProcessWalSummarizerInterrupts();
> +pg_usleep(1000000);
>                                 summarizer_wait_for_wal();
> 
> Michael, as you added the test case, could you please have a look?

I'm failing to reproduce it, unfortunately.  It looks like just a
timing issue with the reports, so the best option I can think of here
would be to switch the test to do a wait until the stats have been
generated, leading to the attached.  Do you still see the problem with
that in place?
--
Michael

Commits

  1. pg_walsummary: Improve stability of test checking statistics