BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
authorEmeric Brun <ebrun@haproxy.com>
Tue, 23 Feb 2021 15:50:53 +0000 (16:50 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 29 Apr 2021 09:12:23 +0000 (11:12 +0200)
commit4711b235457cdc8425d1c90a8ca21dadb3731ffe
treeab43ab7c40d0abb508399007b586c7b161bd2a12
parentaceed04e0ebb7b0b21ae54092fc15ebf379fe69d
BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected

If two peers are disconnected and during this period they continue to
process a large amount of local updates, after a reconnection they
may take a long time before restarting to push their updates. because
the last pushed update would appear internally in futur.

This patch fix this resetting the cursor on acked updates at the maximum
point considered in the past if it appears in futur but it means we
may lost some updates. A clean fix would be to update the protocol to
be able to signal a remote peer that is was not updated for a too long
period and needs a full resync but this is not yet supported by the
protocol.

This patch should be backported on all supported branches ( >= 1.6 )

(cherry picked from commit d9729da98262f2136ad4eac44c3ec2f710cb4a49)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 21680f6d9311339193220eb0d85aac79969fad4f)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 905295c9c5de3be91d1b2493bbb01f8f690181d7)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
src/peers.c