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

HTTPCLIENT-2180. Implement warm-up functionality for PoolingAsyncClientConnectionManager #611

Closed
wants to merge 1 commit into from

Conversation

arturobernalg
Copy link
Member

This PR introduces the warmUp method for PoolingAsyncClientConnectionManager and PoolingHttpClientConnectionManager, allowing pre-initialization of connections to a target host. This functionality ensures connections are ready for immediate use, addressing performance concerns in latency-sensitive applications.

…ientConnectionManager to pre-initialize connections to a target host. This change ensures connections are ready for use, improving performance for applications with high latency sensitivity.
@ok2c
Copy link
Member

ok2c commented Jan 20, 2025

I am sorry @arturobernalg but this looks wrong. The proposed code does not really "warm up" the pool. It merely creates a bunch of pool entries with no connection in them. It really makes no sense.

The only reliable way of creating a properly established connection is by executing a cheap request such as OPTIONS along the given route. Please note one needs a fully initialized and a functional client for that as a route may involve multiple hops, proxy tunnels and TLS security. It cannot be done by the connection manager alone.

If you really intend to resolve HTTPCLIENT-2180 you should probably create a utility class that executes a bunch of OPTIONS requests along the given route, but I would rather close HTTPCLIENT-2180 as "wontfix"

@arturobernalg
Copy link
Member Author

wontfix

@ok2c agree to close the ticket as wontfix

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