You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The pong replies to the broker used to share the outbound channel with
all other connection traffic. When the channel is full under high load,
pongs were being discarded due to try_send on a bounded channel that was
full. Not only does this flood the log with errors, but if the broker
does not receive the pong in time, it will kill the connection and the
cycle will repeat.
This commit gives pong its own dedicated bounded(1) channel so that it
cannot be crowded out by other outbound traffic. The sink writer drains
the pong channel ahead of the main channel via select_biased!, ensuring
pong responses are flushed to the socket as soon as possible.
Fixes: #408
0 commit comments