When changing idletimeout after initialization of JDBC connection pool, the reconfiguration of pool is executed.
In this case, I expected the task checking idle connections would adopt the updated idletimeout value.
However it still seems to use the previous idletimeout value after reconfiguration.
- asadmin set resources.jdbc-connection-pool.DerbyPool.pooling=true
asadmin set resources.jdbc-connection-pool.DerbyPool.steady-pool-size=8
asadmin set resources.jdbc-connection-pool.DerbyPool.idle-timeout-in-seconds=10
- Getting a connection using DerbyPool. (DerbyPool is initialized on first getConnection().)
- asadmin set resources.jdbc-connection-pool.DerbyPool.idle-timeout-in-seconds=30
- Sleep 20 (sec)
- Idle connections are destroyed though idletimeout is 30 (sec).
Note that I couldn't always reproduce this issue by following the above steps. It might depend on the machine spec. So I confirmed the previous idletimeout value was passed Timer for ResizerTask directly on debug.
A variable idletime which is used in scheduleResizerTask() is not updated as follows.
I tested using GFv3.2(r48897).