-
Notifications
You must be signed in to change notification settings - Fork 647
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
Possible connection leak in DefaultPooledConnectionProvider #3458
Comments
@bmaassenee Your Reactor Netty version is very old (reactorNettyVersion=1.0.9) and not supported anymore. Please update to a supported version (more info here) |
Hi @violetagg I will update the lib version right away. Just to be sure, if i see the above again, this would qualify as a bug right? And not as me miss interpreting the metrics? |
it seems so ... |
@violetagg updated to latest versions within the same minor version available, and still seeing the issue:
lib versions used: |
@bmaassenee Is there a reproducible example that you can provide? |
Unfortunately not, going through logs combined with metrics to try to find some clue on what's going on. Any hints what i could look for/log levels i could set would be appreciated |
@bmaassenee In the logs you should be able to see messages like this
|
So by comparing jumps in metrics:
with the logs of our interceptor:
I found an entry of the "Starting web request" log, but no result log for each time the metrics jumps up by 1. Which is weird as we're setting up connect and read timeouts, so i would expect something at a maximum of 60 sec after the "Starting" log. HttpClient config:
|
can you track also cancellations (doOnCancel) |
@violetagg added, and its not printing. |
@bmaassenee Without reproducible example/some scenario/detailed logs I don't know how we can proceed with this one. |
can you give me the classes/packages and log levels you would require to get the detailed logs? As i can enable those |
May be try with |
getting the feeling it has to do with retries, unfortunately permits are not logged by the connection pool:
as the metrics say that total connections for this endpoint is on 64 at this point |
@violetagg took me a while to get the proper logs, having all those parallel async api calls going out makes following the logs quite hard... but think i've captured the problem, failure:
Both calls are part of a 3 way zip:
From the logs it seems the api a successful call produces the following logs:
|
@violetagg any chance for an update/reply? |
I'll take a look this week |
Great, thank you for the support :) |
I'm investigating why i'm seeing PoolAcquireTimeoutException in my application, and came across something that makes no sense to me, and which i expect is a bug. I've configured the provider to have a max of 500 connections, and have metrics enabled for the provider. What i'm seeing is that metrics basically say nothing is going on, while the connection pool says it has reached the max connections.
Expected Behavior
I would expect that the available connections for the pool, is max - active
Actual Behavior
What i'm seeing is the following metrics:
I would expect this would result in 499 available connections, but when i checked the memory dump i saw:
Unfortunately i've got no idea how i'm getting in this state, and as such, no idea how to reproduce this issue. However where possible i'm more then willing to help out providing extra info
Your Environment
reactorNettyVersion=1.0.9
reactorVersion=3.4.28
nettyVersion=4.1.77.Final
docker container=eclipse-temurin:21.0.3_9-jdk
Connection pool provider config:
The text was updated successfully, but these errors were encountered: