Raise ConnectionError on most non-200 errors#185
Merged
Conversation
matthinea
commented
Jun 4, 2026
j1wilmot
reviewed
Jun 5, 2026
j1wilmot
left a comment
Contributor
There was a problem hiding this comment.
Approach looks good, but should this be grouped with the 5xx handling? Now there are multiple code locations that handle status codes.
Contributor
Author
|
In principal, yes, but core issue is:
Let me take another pass at this and see if it can be simplified without resulting in major changes to the interface. |
Contributor
Author
|
Ok it looks like we can get by with just 404 being valid for |
Contributor
Author
|
Ok, I added some test cases with real-life examples of how & why GET and DELETE should sometimes not error on 404. I ran some bulk and individual updates on QA documents with this branch and everything seems to be performing good 👍 |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Most methods interface with Elasticsearch via
json_request. Thejson_requestmethod only raises on 5xx errors, or when there's an explicityerrorkey in the JSON response. This leaves 3xx and 4xx errors as silent failures.Solution
postandputmethods, raise unless the response code is 2xx.