Skip to content

Conversation

dayaffe
Copy link
Contributor

@dayaffe dayaffe commented Oct 10, 2025

Issue #

Description of changes

Scope

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@dayaffe dayaffe requested a review from jbelkins October 10, 2025 01:02
Copy link
Contributor

@jbelkins jbelkins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple questions. Also, fix the string interpolation messages so we aren't logging Optional(...) all over the logs

var nioRequest = AsyncHTTPClient.HTTPClientRequest(url: url.absoluteString)
nioRequest.method = method

for header in request.headers.headers + config.defaultHeaders.headers {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if a header is set in the request AND in defaults?

Is the request's value used, the default's, or are both headers set? (HTTP is okay with two headers with the same keys and/or values)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed. Header in request will be preferred and overwrite if its in default as well.

httpMetricsUsage.connectionsLimit = 0 // TODO: Get from AsyncHTTPClient configuration
do {
let timeout: TimeAmount = .seconds(Int64(config.socketTimeout))
let nioResponse = try await client.execute(nioRequest, timeout: timeout)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol is this really all it takes? Will it also do HTTP/2 bidi streaming out of the box for us?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup :) All integration tests are passing for me!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is performance? We should look at the tests where we run huge #s of S3 streaming ops at the same time

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be doing performance testing for the whole implementation prior to merging the feature branch to main. So that answer is incoming! But I dont think we need to hold off on merging this to the feature branch until we get those numbers.

@dayaffe dayaffe requested a review from jbelkins October 15, 2025 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants