Correct base backup throttling
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 5 Sep 2017 14:59:39 +0000 (16:59 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 5 Sep 2017 15:28:30 +0000 (17:28 +0200)
commit1861b20cd63ba3a2e9d547858fc4e05d882531c7
treebcb067e0a36a36a3aaec245c880cdef1a6f173fa
parenta1af1e7cfaefbef38e6b85ac632ed488744b3fd0
Correct base backup throttling

Throttling for sending a base backup in walsender is broken for the case
where there is a lot of WAL traffic, because the latch used to put the
walsender to sleep is also signalled by regular WAL traffic (and each
signal causes an additional batch of data to be sent); the net effect is
that there is no or little actual throttling.  This is undesirable, so
rewrite the sleep into a loop to achieve the desired effeect.

Author: Jeff Janes, small tweaks by me
Reviewed-by: Antonin Houska
Discussion: https://postgr.es/m/CAMkU=1xH6mde-yL-Eo1TKBGNd0PB1-TMxvrNvqcAkN-qr2E9mw@mail.gmail.com
src/backend/replication/basebackup.c