You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Jerome Lacoste (JIRA)" <ji...@apache.org> on 2006/06/20 12:48:30 UTC
[jira] Updated: (DBCP-189) [dbcp] Threads do not get a Connection
in FIFO mode
[ http://issues.apache.org/jira/browse/DBCP-189?page=all ]
Jerome Lacoste updated DBCP-189:
--------------------------------
Attachment: DBCP-189.txt
Patch that implements the requested changes. Only unit tested. Didn't add a regression test.
> [dbcp] Threads do not get a Connection in FIFO mode
> ---------------------------------------------------
>
> Key: DBCP-189
> URL: http://issues.apache.org/jira/browse/DBCP-189
> Project: Commons Dbcp
> Type: Bug
> Versions: 1.2 Final
> Environment: commons-dbcp-1.2.1.jar
> Reporter: rod
> Attachments: DBCP-189.txt
>
> hi,
> the SharedPoolDataSource class uses the class GenericKeyedObjectPool which has a FIFO behavior.
> the problem is that when all connections in the pool are used, the synchronised method SharedPoolDataSource.getPooledConnectionAndInfo
> calls the borrowObject() blocking method and does not release its monitor.
> as a result, all other threads asking for a connection get blocked trying to get the monitor
> and will get a connection later in a non-FIFO mode.
> i think the fix is to synchronized only the code block :
> if (pool == null) {
> try {
> registerPool(username, password);
> } catch (NamingException e) {
> throw new SQLNestedException("RegisterPool failed", e);
> }
> }
> instead of synchronizing the whole method.
> thanks
> rodolphe
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org