Fix connection reuse in splithttp HTTP/1.1 #3485
Merged
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.
Fix two bugs:
When the connection pool contains more than 5 dead connections, the write fails after 5 tries and is aborted. Instead, pull infinite amount of connections from the pool and when the pool is empty, fail the write on the first fresh connection.
When the write is retried, the request body is already drained, and the upload request will contain no payload at all. Fix this by stringifying the request eagerly.
Also explicitly set content-length so that transfer-encoding: chunked is avoided. This really doesn't seem to matter to any CDN at all though.
In a future version, there should be an explicit mechanism to read responses asynchronously and retry. This will certainly increase reliability further.
However, if you actually care about reliability you should use h2