Re: New Object Access Type hooks

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Joshua Brindle <joshua.brindle@crunchydata.com>, Robert Haas <robertmhaas@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Jeff Davis <pgsql@j-davis.com>, Joe Conway <joe@crunchydata.com>
Date: 2022-04-04T19:01:15Z
Lists: pgsql-hackers
Mark Dilger <mark.dilger@enterprisedb.com> writes:

> # Running: pg_ctl kill QUIT 2083
> ok 4 - killed process with SIGQUIT
> # pump_until: process terminated unexpectedly when searching for "(?^m:WARNING:  terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost)" with stream: "psql:<stdin>:9: WARNING:  terminating connection because of unexpected SIGQUIT signal
> # psql:<stdin>:9: could not send data to server: Socket is not connected
> # "
> not ok 5 - psql query died successfully after SIGQUIT

And there we have it: the test wasn't updated for the new backend message
spelling, and we're seeing a different frontend behavior.  Evidently the
backend is dying before we're able to send the "SELECT 1;" to it.

I'm not quite sure whether it's a libpq bug that it doesn't produce the
"connection to server was lost" message here, but in any case I suspect
that we shouldn't be checking for the second and third regex alternatives.
The "terminating connection" warning absolutely should get through, and
if it doesn't we want to know about it.  So my proposal for a fix is
to change the regex to be just "WARNING:  terminating connection because
of unexpected SIGQUIT signal".

			regards, tom lane



Commits

  1. Update some tests in 013_crash_restart.pl.

  2. Avoid freeing objects during json aggregate finalization

  3. SQL/JSON constructors

  4. Force NO_LOCALE / UTF8 for test_oat_hooks tests

  5. Temporarily disable installcheck for test_oat_hooks module

  6. Fix new Object Access hooks test

  7. Add String object access hooks

  8. Add a test module for Object Access hooks