BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
authorEmeric Brun <ebrun@haproxy.com>
Wed, 28 Apr 2021 09:48:15 +0000 (11:48 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 28 Apr 2021 12:23:10 +0000 (14:23 +0200)
commit8e7a13ed66aad97c550f3a6600145ed7c757a894
treeb0756cb32bc17f2a3c410d4ee263117d5549a72a
parentcc9cce9351c2d64476dbe2f35c43cde8a3f97ebe
BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly

Only entries between the opposite of the last 'local update' rotating
counter were considered to be pushed. This processing worked in most
cases because updates are continually pushed trying to reach this point
but it remains some cases where updates id are more far away in the past
and appearing in futur and the push of updates is stuck until the head
reach again the tail which could take a very long time.

This patch re-work the lookup to consider that all positions on the
rotating counter is considered in the past until we reach exactly
the 'local update' value. Doing this, the updates push won't be stuck
anymore.

This patch should be backported on all supported branches ( >= 1.6 )
src/peers.c