commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rod (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DBCP-189) [dbcp] Threads do not get a Connection in FIFO mode
Date Wed, 31 May 2006 11:18:30 GMT
    [ http://issues.apache.org/jira/browse/DBCP-189?page=comments#action_12414031 ] 

rod commented on DBCP-189:
--------------------------

however, getUserPassKey should be made synchronized cos the LRUMap is not Thread Safe.
rodolphe

> [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

>
> 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


Mime
View raw message