Description
This is affecting a test on .NET which checks to make sure that a replicator will give up in the face of a nonresponsive endpoint (i.e. with no server running). It is failing because its retry count is setup to go back to 0 when the replicator goes back to busy. It is falsely reporting busy often after the 2nd timeout but it is somewhat unclear why.
The reason it is going to busy is because of a workaround introduced previously to "finish processing messages after a disconnect". So there is a flip to busy temporarily before the next "stop" as the replicator drains its mailbox. For example while the event is running the following could be in the replicator mailbox:
onClose (replicator)
childChangedStatus (worker)
childChangedStatus (worker)
Because there are things in here the replicator calls back with busy and mistakenly resets the retry count.