Ignore server-side delays when enforcing wal_sender_timeout.

Noah Misch <noah@leadboat.com>

Commit: 20cd88857b3a60d40cf019872cf8a5d40888e3ae
Author: Noah Misch <noah@leadboat.com>
Date: 2018-09-01T06:00:03Z
Releases: 9.4.20
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

Files

PathChange+/−
src/backend/replication/walsender.c modified +36 −28

Discussion