Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.5.1
-
None
-
Operating System: All
Platform: All
Description
Hi,
if numTestsPerEvictionRun is set to n and there are less than n idle objects in the pool, the evictor thread will still make n tests on these objects in a round-robin manner, i.e. idle objects can be tested more than once per eviction run. As this also includes validity tests if testWhileIdle is enbabled and validity tests may be time-consuming, this is a rather unwanted behavior.
Instead of testing getNumTests() objects, the pool should test min(_pool.size(),getNumTests()) objects per eviction run.
thomas@schuerger.com already reported this bug for GenericObjectPool (see POOL-6). I found out now, that this bug still exists for GenericKeyedObjectPool. Apparently, POOL-6 only solved the bug in GenericObjectPool.
Attachments
Issue Links
- is related to
-
POOL-6 [pool] Number of tested objects in eviction runs of GenericObjectPool
- Closed