Re: pgsql: tests: Fix race condition in postmaster/002_connection_limits

From: Andres Freund <andres(at)anarazel(dot)de>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: tests: Fix race condition in postmaster/002_connection_limits
Date: 2025-03-10 23:34:00
Message-ID: f4nt6kitnkbnrgd4hezgnszuoihhx5hdqr2bvuq7c33jezmimw@iathdfthlebt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2025-03-11 00:05:42 pgsql: Add WAL data to backend statistics
Previous Message Andres Freund 2025-03-10 23:33:57 pgsql: tests: Make postmaster/002_connection_limits deal verbose logs