[pgpool-general: 4014] Cancelling and Terminating (again)

Pablo Sanchez pablo at blueoakdb.com
Sun Aug 30 01:29:37 JST 2015

Hi everyone,

Once again we had an issue this morning where a query would not die
due to a _cancel() nor a 'kill -2' (from the DB server).

I tried a 'kill -3' which caused PGPool to degenerate.

I found Tatsuo attempt at getting a patch added to PG on May 12, 2010
[1].  Unfortunately it was not accepted nor were there any proposed
alterations to the patch to make it acceptable.  :(

@Tatsuo:  not being able to _terminate() is extremely difficult.
Would you consider making the following enhancement?

o Keep a rolling count over the past N seconds of how many
postmaster-died error codes have been received.  I'm envisioning a
simple array of N cells.
o If we exceeds a threshold, initiate fail-over, otherwise assume it's
a _terminate()

The parameters can be controlled in new pgpool.conf parameters.
Perhaps one master switch to enable the feature and two others:

1) Number of seconds in the past to evaluate (e.g. 2)
2) Number of postmaster_errors_to_accept_before_deginerating


[1] - http://postgresql.nabble.com/How-to-know-killed-by-pg-terminate-backend-td2017927.html
Pablo Sanchez - Blueoak Database Engineering, Inc
Ph:    819.459.1926         Blog:  http://pablo.blog.blueoakdb.com
iNum:  883.5100.0990.1054

More information about the pgpool-general mailing list