Closed richardpark-msft closed 3 years ago
@jhendrixMSFT - Okay, pulled this out of draft.
I made a change into the Recovery code to only consider ErrLinkDetached to be a recoverable close error. I didn't touch the others, however, but I think we'll want to revisit if a distinction like that makes sense for session and connection.
I also added in a stress folder (in internal
) that has a little program (throttling.go) that lets you see that the throttling does occur, we do detach and that we do recovery. It's not automated yet but it'll let us have a little testbed for the future when we go through the recovery code. It also proves that the status code that comes back from the AMQP layer now is ErrLinkDetached.
/azp run Azure.azure-event-hubs-go
/azp run Azure.azure-event-hubs-go
/azp run Azure.azure-event-hubs-go
/azp run Azure.azure-event-hubs-go
All tests except for the one known test (https://github.com/Azure/azure-event-hubs-go/issues/225) are passing. Merging.
(draft to review with @jhendrixMSFT)
Changes to the recovery algorithm based on some issues found when EventHubs was throttling requests: