Subject Re: [Firebird-Java] Pool bug?
Indeed, this is a rather large bug.

If you get to the point where the pool contains maxConnections, and all the
connections are in use, you enter the

if (stack.isEmpty()) {

part of the take() method.

In here, repeated calls are made to the addConnection(stack) method. This
will never return a connection, as the maxConnections has been reached, and
so it simply returns false, waits, and then tries again. It never checks
the stack, however, to see if any of the busy connections have been
returned. Eventually it fails with a timeout error, even though
connections are sitting there waiting to be used.



Sent by: To:
Firebird-Java@yaho cc: Subject: [Firebird-Java] Pool bug?

02/06/2006 01:55
Please respond to


We are seeing problems when we go over the max pool size.

I have a simple test case that opens a hibernate sessions and reads some
data. When I have 3 threads doing this, and set the pool max down to 2, we
would expect to see the 3rd thread wait until one of the other connections
are closed, and then proceed.

We see the thread wait until the timeout is reached,and then the exception

Has anyone seen this behaviour before?



Yahoo! Groups Links