pgsql: Fix minor bug in logical-replication walsender shutdown

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix minor bug in logical-replication walsender shutdown
Date: 2019-10-17 13:12:06
Message-ID: E1iL5ZW-0006Hy-7a@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix minor bug in logical-replication walsender shutdown

Logical walsender should exit when it catches up with sending WAL during
shutdown; but there was a rare corner case when it failed to because of
a race condition that puts it back to wait for more WAL instead -- but
since there wasn't any, it'd not shut down immediately. It would only
continue the shutdown when wal_sender_timeout terminates the sleep,
which causes annoying waits during shutdown procedure. Restructure the
code so that we no longer forget to set WalSndCaughtUp in that case.

This was an oversight in commit c6c333436.

Backpatch all the way down to 9.4.

Author: Craig Ringer, Álvaro Herrera
Discussion: https://postgr.es/m/CAMsr+YEuz4XwZX_QmnX_-2530XhyAmnK=zCmicEnq1vLr0aZ-g@mail.gmail.com

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/1391c13ce3b898caad07261223bb75f8390c45e2

Modified Files
--------------
src/backend/replication/walsender.c | 45 ++++++++++++++-----------------------
1 file changed, 17 insertions(+), 28 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2019-10-17 20:43:50 Re: pgsql: Fix bug that could try to freeze running multixacts.
Previous Message Alvaro Herrera 2019-10-17 08:08:59 pgsql: Fix parallel restore of FKs to partitioned tables