Ignore server-side delays when enforcing wal_sender_timeout.
authorNoah Misch <noah@leadboat.com>
Sat, 1 Sep 2018 05:59:58 +0000 (22:59 -0700)
committerNoah Misch <noah@leadboat.com>
Sat, 1 Sep 2018 05:59:58 +0000 (22:59 -0700)
commitab0ed6153a58294143d6d66ec5f3471477c59d57
tree01f5aff6d4bb5a39109dfbeed89249017a4eccbb
parent5758685c9f1a51b0a77ae8f415a57670941f2c4b
Ignore server-side delays when enforcing wal_sender_timeout.

Healthy clients of servers having poor I/O performance, such as
buildfarm members hamster and tern, saw unexpected timeouts.  That
disagreed with documentation.  This fix adds one gettimeofday() call
whenever ProcessRepliesIfAny() finds no client reply messages.
Back-patch to 9.4; the bug's symptom is rare and mild, and the code all
moved between 9.3 and 9.4.

Discussion: https://postgr.es/m/20180826034600.GA1105084@rfd.leadboat.com
src/backend/replication/walsender.c