BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
The re-con cursor was updated receiving any ack message even if we are pushing a complete resync to a peer. This cursor is reset at the end of the resync but if the connection is broken during resync, we could re-start at an unwanted point. With this patch, the peer stops to consider ack messages pushing a resync since the resync process has is own acknowlegement and is always restarted from the beginning in case of broken connection. This patch should be backported on all supported branches ( >= 1.6 )
This commit is contained in:
parent
437e48ad92
commit
b0d60bed36
|
@ -1813,6 +1813,10 @@ static inline int peer_treat_ackmsg(struct appctx *appctx, struct peer *p,
|
|||
uint32_t update;
|
||||
struct shared_table *st;
|
||||
|
||||
/* ignore ack during teaching process */
|
||||
if (p->flags & PEER_F_TEACH_PROCESS)
|
||||
return 1;
|
||||
|
||||
table_id = intdecode(msg_cur, msg_end);
|
||||
if (!*msg_cur || (*msg_cur + sizeof(update) > msg_end)) {
|
||||
/* malformed message */
|
||||
|
|
Loading…
Reference in New Issue