pgsql: Notify bgworker registrant after freeing worker slot.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Notify bgworker registrant after freeing worker slot.
Date: 2017-03-03 03:57:47
Message-ID: E1cjeLj-0006kS-VO@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Notify bgworker registrant after freeing worker slot.

Tom Lane observed buildfarm failures caused by the select_parallel
regression test trying to launch new parallel queries before the
worker slots used by the previous ones were freed. Try to fix this by
having the postmaster free the worker slots before it sends the
SIGUSR1 notifications to the registering process. This doesn't
completely eliminate the possibility that the user backend might
(correctly) observe the worker as dead before the slot is free, but I
believe it should make the window significantly narrower.

Patch by me, per complaint from Tom Lane. Reviewed by Amit Kapila.

Discussion: http://postgr.es/m/30673.1487310734@sss.pgh.pa.us

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/aea5d298362e881b13d95a48c5ae116879237389

Modified Files
--------------
src/backend/postmaster/bgworker.c | 33 +++++++++++++++++++++++++++++
src/backend/postmaster/postmaster.c | 6 +++---
src/include/postmaster/bgworker_internals.h | 1 +
3 files changed, 37 insertions(+), 3 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2017-03-03 06:18:34 pgsql: Add pg_current_logfile() function.
Previous Message Robert Haas 2017-03-03 03:42:11 pgsql: Improve error reporting for tuple-routing failures.