]> granicus.if.org Git - postgresql/commit
Fix minor bug in logical-replication walsender shutdown
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 17 Oct 2019 13:06:05 +0000 (15:06 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 17 Oct 2019 13:06:05 +0000 (15:06 +0200)
commitb2ab06e0251a6733ea07d3a010e4a868b0595fce
tree60bb3ab87a14bba8118d000f020ea50bb687a07e
parentcdbb3921308ec71e7d090b734a1c8c0bf3269088
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
src/backend/replication/walsender.c