close() does not release threads blocked on borrowObject()
----------------------------------------------------------
Key: POOL-189
URL: https://issues.apache.org/jira/browse/POOL-189
Project: Commons Pool
Issue Type: Bug
Affects Versions: 1.5.6
Environment: java 1.6.0_24
Reporter: Adrian Nistor
Hi,
When I call close() and borrowObject() concurrently with no objects in
the pool, close() will finish but borrowObject() is blocked forever.
The documentation of close() mentions that borrowObject() should fail
with IllegalStateException, so I would expect the waiting threads to
throw IllegalStateException.
I will attach a test that exposes this problem. For this test, the
expected output is:
0
1
2
...
4999
DONE
But when the bug manifests (almost always for this test), the output
is:
0
1
2
The test does not finish, it just gets stuck after printing several
values.
Is this a bug or am I reading the documentation wrongly? Is there
a patch for this?
Thanks!
Adrian
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira