check network errors and their .__cause__
for expected error types
#18849
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose:
We already have code to report 'expected' networking errors differently and more quietly than unexpected ones. For example, we expect peers to disconnect sometimes and don't need a loud traceback in the logs for that. But... it appears that there may have been a change where these exceptions are now being chained and thus not caught by the original check. This expands that check to check both the exception directly and it's
.__cause__
. That's wheree
goes when you, for example,raise NewException() from e
.Current Behavior:
New Behavior:
Testing Notes: