-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Http-netty4 connection pool implementation #45869
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
Merged
alzimmermsft
merged 60 commits into
Azure:main
from
georgebanasios:connection-pool-http-netty4
Aug 18, 2025
Merged
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
1ddd05d
Http-netty4 connection pool implementation
georgebanasios a379a00
Merge remote-tracking branch 'origin/main' into connection-pool-http-…
georgebanasios 784ade2
fix duplicate http response handler in the pipeline
georgebanasios 7edd7a9
apply ALPN after the correct handler
georgebanasios ce50c9e
fix formatting
georgebanasios 6b73bb3
fix Netty4ChannelBinaryData
georgebanasios c8693a1
fix connection pool release race condition
georgebanasios e1525d8
adjust chunked request
georgebanasios f26b6c3
Revert "adjust chunked request"
georgebanasios 1602d4b
fix proxy logic when acquiring a channel
georgebanasios 989b302
cleanup the pipeline after the last content
georgebanasios f0a7847
create channel wrapper
georgebanasios c8c648b
remove channel closure from response handler
georgebanasios 8dea326
try and fix the release deadlock
georgebanasios e076602
handle case where read handlers are added to a closed channel
georgebanasios 8de78bd
remove synchronized
georgebanasios ed27af7
apply ALPN only on new connections
georgebanasios 51fa938
try and fix deadlock
georgebanasios f3eee88
Revert "try and fix deadlock"
georgebanasios 61c273b
deadlock fix v2
georgebanasios 40b929a
Revert "deadlock fix v2"
georgebanasios 792a06e
deadlock fix v3
georgebanasios 56bbb97
Revert "deadlock fix v3"
georgebanasios f849ec8
deadlock fix attempt v4
georgebanasios 140a095
fix on input stream close method
georgebanasios c0f9beb
deadlock fix attempt v5
georgebanasios a2d0bcd
Revert "deadlock fix attempt v5"
georgebanasios d66fd1d
deadlock fix attempt v6
georgebanasios 42f72c7
make method more efficient
georgebanasios 4606fe4
fix response handler tests
georgebanasios 6fdf2e7
make close method of netty binary data non blocking
georgebanasios 623503c
cleanup connection on netty binary data
georgebanasios f085ece
add exception handling on cleanup handler
georgebanasios d66d154
Netty4ChannelBinaryData adjustments
georgebanasios aa1fba9
try to not block on send method
georgebanasios 720b395
disable connection pooling functionality
georgebanasios 670687f
adjust cleanups
georgebanasios c0022f4
use event for pipeline cleanup
georgebanasios 7b3c8fe
attempt to synchronize the pipeline modification and cleaup for the s…
georgebanasios 1a28409
self removal of handlers
georgebanasios ed9b857
attempt to fix race condition
georgebanasios fec1ffc
close clients after tests
georgebanasios ca36245
Revert "close clients after tests"
georgebanasios 437616b
http2 connecetions
georgebanasios 40ef6ee
synchronize connection pool
georgebanasios 59f9240
Revert "synchronize connection pool"
georgebanasios 9e65d78
check connection
georgebanasios 84be996
Revert "check connection"
georgebanasios e092c9c
try to centralize waiting queue logic
georgebanasios df003e0
Revert "try to centralize waiting queue logic"
georgebanasios dbf1c69
enable half closure
georgebanasios 9a3477b
add lock on acquire/release
georgebanasios 6855d45
documentation fix & pr comments
georgebanasios 814285d
fix ssl/alpn on pooled connections
georgebanasios 91f72e0
Merge remote-tracking branch 'origin/main' into connection-pool-http-…
georgebanasios 879c638
remove duplicate line & javadoc fix
georgebanasios d4694d8
add javadoc on netty provider
georgebanasios 61be579
add HTTP client tests for pooled connections
georgebanasios 5551d47
fix builder logging configuration logic
georgebanasios c64019a
fix merge conflicts
georgebanasios File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
386 changes: 277 additions & 109 deletions
386
sdk/clientcore/http-netty4/src/main/java/io/clientcore/http/netty4/NettyHttpClient.java
Large diffs are not rendered by default.
Oops, something went wrong.
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.