-
Notifications
You must be signed in to change notification settings - Fork 55
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
Mass destruction of R2DBC pools at once. #196
Comments
It sounds a bit as if this would originate from Reactor Pool as R2DBC pool delegates all eviction and statistics functionality to Reactor Pool. Paging @pderop for further guidance. |
@pkgonan, ok, I'll check this tomorrow morning. |
Hi, @pderop BACKGROUND_EVICTION_INTERVAL causes all connections to be removed and recreated. However, all connections are recreated even if BACKGROUND_EVICTION_INTERVAL is not used. |
I was in trouble on another PR, I'm now starting to check. |
Can you confirm which exact version of reactor-pool you are using ? I have tried to reproduce your scenario using the following junit test (based on here is my junit test, to test it, you can load the reactor-pool (main branch) into your IDE and then add this test, for example in the SimpleDequePoolInstrumentationTest.
|
Mass destruction of R2DBC pools at once.
initial_size : 20
MAX_SIZE: 20
MAX_LIFE_TIME: 10 Seconds
BACKGROUND_EVICTION_INTERVAL: 1 Seconds
validation_depth: local
validation_query: select 1
With the above configured, a show processlist; query on the database will automatically remove all connections without attempting to maintain 20 connections.
If we have a situation where 19 of the 20 connections have been open for 10 seconds and the remaining 1 connection has been open for 1 second, common sense would dictate that only 19 connections should be removed, but all 20 connections are removed.
Kotlin + Spring Boot Webflux + R2DBC + R2DBC Pool Configuration
The text was updated successfully, but these errors were encountered: