mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-21 14:17:30 -04:00
BUG/MEDIUM: peers: Reprocess peer state after all session shutdowns
When a session is shut down, the peer is switched in released state (PEER_F_ST_RELEASED) and the sync task must process it to eventually perform some clean up, in case the peer was assigned to learn. However, this was only true when the session was shut down from the peer applet itself. This was not performed when it was shut down from the sync task. It is now fixed.
This commit is contained in:
parent
3541c54481
commit
2a902e3188
1 changed files with 2 additions and 0 deletions
|
|
@ -3566,6 +3566,7 @@ static void __process_running_peer_sync(struct task *task, struct peers *peers,
|
|||
ps->reconnect = tick_add(now_ms, MS_TO_TICKS(50 + ha_random() % 2000));
|
||||
ps->heartbeat = TICK_ETERNITY;
|
||||
peer_session_forceshutdown(ps);
|
||||
__process_peer_state(peers, ps);
|
||||
ps->no_hbt++;
|
||||
}
|
||||
}
|
||||
|
|
@ -3626,6 +3627,7 @@ static void __process_stopping_peer_sync(struct task *task, struct peers *peers,
|
|||
ps->reconnect = tick_add(now_ms, MS_TO_TICKS(50 + ha_random() % 2000));
|
||||
if (ps->appctx) {
|
||||
peer_session_forceshutdown(ps);
|
||||
__process_peer_state(peers, ps);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue