Improve http connection reuse - #3760
Merged
joe-elliott merged 4 commits intoJun 20, 2024
Merged
Conversation
bmteller
requested review from
annanay25,
electron0zero,
ie-pham,
joe-elliott,
mapno,
mdisibio,
stoewer,
yvrhdn and
zalegrala
as code owners
June 7, 2024 16:03
If EOF is not read then the connection is not eligble for reuse. Try to read an extra byte to ensure EOF is read.
The previous value was the MinIO default which is 16 per host and 100 global.
If EOF is not read then the connection is not eligble for reuse. Try to read an extra byte to ensure EOF is read.
bmteller
force-pushed
the
improve_http_connection_reuse
branch
from
June 7, 2024 17:55
be7a0ca to
7d00c3d
Compare
joe-elliott
reviewed
Jun 10, 2024
joe-elliott
left a comment
Collaborator
There was a problem hiding this comment.
Thanks for working on this.
- Do you think we should put something similar in Azure?
- Can you add a changelog entry detailing the fix
Contributor
Author
|
I don't think azure has a similar problem unless it is in the azure library itself. and this blobClient is from |
Contributor
Author
|
what should it be classified in the changelog as? BUGFIX? |
Collaborator
Yeah, I think that's fair. |
joe-elliott
approved these changes
Jun 20, 2024
joe-elliott
left a comment
Collaborator
There was a problem hiding this comment.
I went ahead and made the changelog entry b/c of how valuable this fix is.
Thanks!
Contributor
Author
|
thanks Joe! |
mattdurham
pushed a commit
to mattdurham/tempo
that referenced
this pull request
Jun 18, 2026
* Fix HTTP Connection Reuse for S3 range requests If EOF is not read then the connection is not eligble for reuse. Try to read an extra byte to ensure EOF is read. * Explicitly set MaxIdleConnsPerHost/MaxIdleConns for S3 backend The previous value was the MinIO default which is 16 per host and 100 global. * Fix HTTP Connection Reuse for GCS range requests If EOF is not read then the connection is not eligble for reuse. Try to read an extra byte to ensure EOF is read. * changelog Signed-off-by: Joe Elliott <number101010@gmail.com> --------- Signed-off-by: Joe Elliott <number101010@gmail.com> Co-authored-by: Joe Elliott <number101010@gmail.com>
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.
What this PR does:
Fixes connection reuse for S3 range requests and increases the number of MaxIdleConnsPerHost for the S3 backend to 100 to match the azure settings. Also, assumes GCP has the same connection reuse problem for range requests and performs the same fix. Note: I have tested the fix for S3 range requests and verified it is a problem and the change fixes the problem but I have not verified that it is a problem for GCP or that it fixes the problem for GCP. The GCP HTTP google storage code does look like it effectively returns the body reader so it does look like GCP would have a similar issue.
Which issue(s) this PR fixes:
Fixes #3750
Checklist
CHANGELOG.mdupdated - the order of entries should be[CHANGE],[FEATURE],[ENHANCEMENT],[BUGFIX]