Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0
-
None
Description
It appears that when threads are blocked in GKOP.borrowObject due to max object limits being reached and another thread calls invalidateObject, the threads blocked in GKOP.borrowObject are not woken up to attempt to create a new object.
Have the semantics changed for invalidate in 2.0?
Attached is a unit test that demonstrates this issue. I should note that this test passed against POOL 1.5, after making the appropriate changes due to the API changes in 2.0.
After a cursory glance through the source for GenericObjectPool, it looks like it might be affected by the same issue.