]> granicus.if.org Git - postgresql/commit
Fix bug in clean shutdown of walsender that pg_receiving is connecting to.
authorFujii Masao <fujii@postgresql.org>
Mon, 17 Mar 2014 11:41:52 +0000 (20:41 +0900)
committerFujii Masao <fujii@postgresql.org>
Mon, 17 Mar 2014 11:41:52 +0000 (20:41 +0900)
commit7899aa356a06181dfa4f958ea2f7276ec7253da1
tree2a2cda65a8ef749541e154828ee620caf720fe7a
parentba5946e8696e9629e77cc1e9c2c8bc722798a0a0
Fix bug in clean shutdown of walsender that pg_receiving is connecting to.

On clean shutdown, walsender waits for all WAL to be replicated to a standby,
and exits. It determined whether that replication had been completed by
checking whether its sent location had been equal to a standby's flush
location. Unfortunately this condition never becomes true when the standby
such as pg_receivexlog which always returns an invalid flush location is
connecting to walsender, and then walsender waits forever.

This commit changes walsender so that it just checks a standby's write
location if a flush location is invalid.

Back-patch to 9.1 where enough infrastructure for this exists.
src/backend/replication/walsender.c