Re: Regression tests fail on OpenBSD due to low semmns value

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Peter Eisentraut <peter@eisentraut.org>, Andrew Dunstan <andrew@dunslane.net>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-12-24T17:57:20Z
Lists: pgsql-hackers
Alexander Lakhin <exclusion@gmail.com> writes:
> I've reproduced this behavior with two reduced sqls.
> prepared_xacts.sql:
> BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
>    CREATE TABLE pxtest4 (a int);
> PREPARE TRANSACTION 'regress_sub2';
> \c -
> COMMIT PREPARED 'regress_sub2';
> -- the script ends prematurely and doesn't reach COMMIT when \c fails due
> -- to the "too many clients" error.

Hmm, okay.  Not really a bug, or at least I don't see much we could
do about it.

It does seem odd that a prepared transaction --- which, at least
in theory, we should know won't do anything more --- can block
other serializable transactions.  Maybe that could be improved,
but it sounds like a research project not a bug fix.

			regards, tom lane



Commits

  1. Try to avoid semaphore-related test failures on NetBSD/OpenBSD.