From: Emeric Brun Date: Wed, 10 Aug 2016 15:19:27 +0000 (+0200) Subject: BUG/MINOR: peers: some updates are pushed twice after a resync. X-Git-Tag: v1.7-dev4~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cc522744967c6d6a3d8f78ab5f54a0ec19a17577;p=thirdparty%2Fhaproxy.git BUG/MINOR: peers: some updates are pushed twice after a resync. This bug is due to a copy/paste error and was introduced with peers-protocol v2: The last_pushed pointer was not correctly reset to the teaching_origin at the end of the teaching state but to the first update present in the tree. The result: some updates were re-pushed after leaving the teaching state. This fix needs to be backported to 1.6. --- diff --git a/src/peers.c b/src/peers.c index a8066c53ee..b3a14e6a7a 100644 --- a/src/peers.c +++ b/src/peers.c @@ -1491,9 +1491,7 @@ incomplete: /* push local updates */ if (!eb || eb->key > st->teaching_origin) { st->flags |= SHTABLE_F_TEACH_STAGE2; - eb = eb32_first(&st->table->updates); - if (eb) - st->last_pushed = eb->key - 1; + st->last_pushed = st->teaching_origin; break; }