-
Notifications
You must be signed in to change notification settings - Fork 814
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[azeventhubs] Fixing issues with connection and link robustness for E…
…vent Hubs (#19683) There were some issues with how we do recovery, which could make things hang or even leave us in an inconsistent state. 1. We didn't have any bound on how long a Close() could take, but since that requires a network hop it's possible for it to hang infinitely if the service doesn't respond. This now has a max bound of 60 seconds. 2. If a Close() of a link is cancelled we signal that the connection needs to be reset, since not doing that will leave us in an inconsistent state where we believe a link is active, but the service does not. 3. We now ignore errors that come back from trying to close a link (except for the previously mentioned cancellation). The error that comes back will be redundant (ie, it'll be the same error that initiated the recovery in the first place) or it'll be something we can't immediately troubleshoot and will be dealt with on the next recovery round. There are also a number of testing quality fixes that I made to validate this change. I've got gomock now for mocks in newer tests (and will start to phase out the previous uses of my custom mocks). I've also added some more tests around recovery and improved logging to log more context per line so it's easier to correlate activity between links.
- Loading branch information
1 parent
1e67666
commit 00a8837
Showing
33 changed files
with
1,729 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.