fix exception in requeue
log message body on exception
only redistribute if necesary when in backoff
throttle connection attempts
initialize backoff_timeout var
fix logic
remove conn parameter from _finish_backoff_block
clear backoff_timeout in _restart_backoff_block
always start the backoff timer
don't restart backoff when a new connection is added
redistribute after a connection closes
tweaks
redistribute shouldn't send > RDY 1 when in backoff
we dont always send RDY 0 (only on idle conns) so we must subtract any existing rdy
test improvements
dont 'optimize' when RDY is already the value we want (far far easier to reason in tests); return the random conn we use in redistribute and finish backoff block so tests can leverage these methods
update tests for last commit and add >1 conn backoff test
:X
only set redistribute flag when we're in backoff
re-work comments