-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix incomplete get handling via HTTP compat bump and don't write failed retry streams to parent buffer in _http_request #516
Conversation
This is totally orthogonal but if you run into JuliaWeb/HTTP.jl#517 style issues (which I certainly did), you might want to try the Downloads.jl based backend to use libcurl instead of HTTP.jl: |
HTTP v0.9.17 is out JuliaRegistries/General#48956 |
Can someone run the CI please 🙏🏻 |
bors try |
tryBuild failed: |
I assume the bors failure is something else? |
bors try |
tryBuild failed: |
@omus Matt recommended I check if you know what's up with bors here? |
Ah, your move of
|
To fix this you may need to make A possible better solution could be to not have |
bors try |
Great. Thanks @omus |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see a test for the EOFError
behaviour. Otherwise these changes look good
Ok. I'm not familiar with the mocking system here. Could you point me to a similar test? Update: I think I figured out a test. Just added |
bors try |
tryBuild failed: |
bors try |
bors try |
I'll try to help push this along today |
Co-Authored-By: Curtis Vogt <[email protected]>
Thanks @omus I just pushed the easy suggestions. Feel free to push the bigger change here, or in a following PR, whichever you prefer |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
AWS was having a bad day, I think the error above is unrelated and cleared now
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm good with to proceed with these changes now. We can attempt https://github.com/JuliaCloud/AWS.jl/pull/516/files#r756212793 as a follow up
bors try |
bors r+ |
522: Refactor requests write to `response_stream` once r=omus a=omus Follow up to: #516 (comment) By making the repeat try/catch the innermost one we can eliminate having to keep track of the number of attempts. Co-authored-by: Curtis Vogt <[email protected]>
I believe JuliaWeb/HTTP.jl#781 is the proper fix needed for #515.
That PR introduces an EOFError throw if the http response stream has promised content via
Content-length
but hitseof
.The issue is rare and only in heavily concurrent operations, and the retry handling in AWS.jl is well set up to handle that
However, there was also an AWS.jl bug that this PR fixes, where each failed retry was being passed to the
response_stream
.