[ http://issues.apache.org/jira/browse/DBCP-189?page=all ]

Phil Steitz resolved DBCP-189.
------------------------------

    Resolution: Won't Fix

The dbcp API makes no commitments regarding preserving invariants of the 
underlying pool, other than that the exposed parameters work as advertised and 
the pool API is used to borrow and return objects.  In particular, the FIFO 
behavior of commons-pool is not guaranteed to be preserved by dbcp.
If there is more to this ticket than that (i.e., if there is a performance or 
concurrency problem here as well), please reopen.

> [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
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>         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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to