]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: peers: empty chunks after a resync.
authorEmeric Brun <ebrun@haproxy.com>
Fri, 12 Aug 2016 09:23:31 +0000 (11:23 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 14 Aug 2016 09:47:05 +0000 (11:47 +0200)
commit597b26e4329133c605729c4a67322ed43449fbe0
tree3f89b98837ac6242e9abd6b3e162d91358115aeb
parent30fcd39f35a4fe0146b3b60948cf130073b991f9
BUG/MINOR: peers: empty chunks after a resync.

After pushing the last update related to a resync process, the teacher resets
the re-connection's origin to the saved one (pointer position when he receive
the resync request). But the last acknowledgement overwrites this pointer to
an inconsistent value. In peersv2, it results with empty table chunks
regularly pushed.

The fix consist to move the confirm code to assure that the confirm message is
always sent after the last acknowledgement related to the resync. And to reset
the re-connection's origin to the saved one when a confirm message is received.

This bug affects versions 1.6 and superior.

For older versions (peersv1), this inconsistent state should not generate side
effects because chunks are not used and a next acknowlegement message resets
the pointer in a valid state.
src/peers.c