[COMMITTERS] pgsql: Unify SIGHUP handling between normal and walsender backends. - Mailing list pgsql-committers

From Andres Freund
Subject [COMMITTERS] pgsql: Unify SIGHUP handling between normal and walsender backends.
Date
Msg-id E1dI4BK-0004sn-Pj@gemulon.postgresql.org
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Unify SIGHUP handling between normal andwalsender backends.  (Andres Freund <andres@anarazel.de>)
List pgsql-committers
Unify SIGHUP handling between normal and walsender backends.

Because walsender and normal backends share the same main loop it's
problematic to have two different flag variables, set in signal
handlers, indicating a pending configuration reload.  Only certain
walsender commands reach code paths checking for the
variable (START_[LOGICAL_]REPLICATION, CREATE_REPLICATION_SLOT
... LOGICAL, notably not base backups).

This is a bug present since the introduction of walsender, but has
gotten worse in releases since then which allow walsender to do more.

A later patch, not slated for v10, will similarly unify SIGHUP
handling in other types of processes as well.

Author: Petr Jelinek, Andres Freund
Reviewed-By: Michael Paquier
Discussion: https://postgr.es/m/20170423235941.qosiuoyqprq4nu7v@alap3.anarazel.de
Backpatch: 9.2-, bug is present since 9.0

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/b8bd32a51f2dd451644175af7ae32f9bec3153f1

Modified Files
--------------
src/backend/replication/walsender.c | 29 +++++++----------------------
src/backend/tcop/postgres.c         | 30 ++++++++++++++----------------
src/backend/utils/init/globals.c    |  1 +
src/include/miscadmin.h             |  5 +++++
4 files changed, 27 insertions(+), 38 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: [COMMITTERS] pgsql: Have walsenders participate in procsignal infrastructure.
Next
From: Andres Freund
Date:
Subject: [COMMITTERS] pgsql: Have walsenders participate in procsignal infrastructure.