Skip to content
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

Experiment Concurrent Pools in HTTP/2 Connection Pool #2986

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pderop
Copy link
Contributor

@pderop pderop commented Nov 26, 2023

This draft PR experiments the concurrent pools feature (work in progress) from reactor/reactor-pool#179 applied to Reactor Netty HTTP/2 Connection Pool.

For the moment, workStealing mode can only be configured for HTTP/2 HttpClient via a new enableWorkStealing method added in Http2AllocationStrategy interface.

So, basically, when an HttpClient is configured with work stealing mode, sub pools (Http2Pool instances) will be created and assigned to each HttpClient's Event Loops, and HTTP2 Connection acquisition tasks will be distributed across all sub pools.

This benchmarks projects can be used to experiment the new client. See the README for the details.

This work is still in progress. Ideally, this PR could be merged into a temporary reactor-netty branch for easier finalization. To be confirmed by the Reactor Netty team.

@pderop pderop added the type/enhancement A general enhancement label Nov 26, 2023
@pderop pderop self-assigned this Nov 26, 2023
@pderop pderop marked this pull request as draft November 26, 2023 20:49
@pderop pderop force-pushed the workstealing-pool branch from 88ced6e to 02da866 Compare January 11, 2024 11:21
@pderop
Copy link
Contributor Author

pderop commented Jan 11, 2024

Updated the PR, work still in progress.

@pderop pderop force-pushed the workstealing-pool branch from 02da866 to 93cbff3 Compare January 17, 2024 11:22
@pderop
Copy link
Contributor Author

pderop commented Jan 17, 2024

rebased on top of latest reactor-netty version in order to pick up #3030

@pderop pderop force-pushed the workstealing-pool branch from 93cbff3 to 573c8a6 Compare May 15, 2024 10:10
@pderop
Copy link
Contributor Author

pderop commented May 15, 2024

Rebased with latest main branch.

@pderop pderop force-pushed the workstealing-pool branch from 573c8a6 to ea96619 Compare June 6, 2024 17:24
@pderop
Copy link
Contributor Author

pderop commented Jun 6, 2024

rebased on top of latest main.

@pderop pderop force-pushed the workstealing-pool branch from ea96619 to a048f99 Compare July 12, 2024 20:55
@pderop
Copy link
Contributor Author

pderop commented Jul 12, 2024

maybe this draft PR will be removed at some point. in the meantime, just rebased this PR on top of latest branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant