Re: pgsql: tests: Fix race condition in postmaster/002_connection_limits - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: tests: Fix race condition in postmaster/002_connection_limits
Date
Msg-id f4nt6kitnkbnrgd4hezgnszuoihhx5hdqr2bvuq7c33jezmimw@iathdfthlebt
Whole thread Raw
In response to Re: pgsql: tests: Fix race condition in postmaster/002_connection_limits  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-committers
Hi,

On 2025-03-10 18:46:12 -0400, Andrew Dunstan wrote:
> On 2025-03-07 Fr 1:22 PM, Andres Freund wrote:
> > tests: Fix race condition in postmaster/002_connection_limits
> > 
> > The test occasionally failed due to unexpected connection limit errors being
> > encountered after having waited for FATAL errors on another connection. These
> > spurious failures were caused by the the backend reporting FATAL errors to the
> > client before detaching from the PGPROC entry. Adding a sleep(1) before
> > proc_exit() makes it easy to reproduce that problem.
> > 
> > To fix the issue, add a helper function that waits for postmaster to notice
> > the process having exited. For now this is implemented by waiting for the
> > DEBUG2 message that postmaster logs in that case. That's not the prettiest
> > fix, but simple. If we notice this problem elsewhere, it might be worthwhile
> > to make this more general, e.g. by adding an injection point.
> > 
> 
> 
> New test breaks when log_error_verbosity=verbose. It's adding an SQL ERRCODE
> to the DEBUG string.

Ugh, that's annoying. I guess no good deed (fixing the test) goes
unpunished...

Pushed a fix.

Greetings,

Andres Freund



pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: tests: Make postmaster/002_connection_limits deal verbose logs
Next
From: Michael Paquier
Date:
Subject: pgsql: Add WAL data to backend statistics