• Alvaro Herrera's avatar
    Fix minor bug in logical-replication walsender shutdown · 38ddeab1
    Alvaro Herrera authored
    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 c6c33343.
    
    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
    38ddeab1
walsender.c 101 KB