You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2006/12/10 00:08:22 UTC

[jira] Commented: (DBCP-205) Intermittently getting "Could not retrieve connection info from pool" when under load

    [ http://issues.apache.org/jira/browse/DBCP-205?page=comments#action_12457146 ] 
            
Phil Steitz commented on DBCP-205:
----------------------------------

Do you see anything in the Windows event log on the SQL Server box?  Is Tomcat running on the same box?  That error could happen if the OS is unable to assign a (client) port for a new connection.  Your config should be limiting the number of db connections from the servlet.  Are there other clients hitting the SQL server concurrently?  If not, can you verify that there are no more than 30 open at a given time?  

This is not likely related to your problem, but if you are using a recent dbcp nightly, you should be using pool 1.3 (release version) rather than 1.2.

If your load is variable, the low maxIdle setting above could be causing a lot of connection churn which might be part of the problem.  Try increasing that setting to 8 or 10.

> Intermittently getting "Could not retrieve connection info from pool" when under load
> -------------------------------------------------------------------------------------
>
>                 Key: DBCP-205
>                 URL: http://issues.apache.org/jira/browse/DBCP-205
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: Nightly Builds, 1.2.1
>         Environment: JRE 1.4.2_03, commons_dbcp20061206, commons-pool-1.2, Microsoft SQL Server 2005 JDBC Driver (sqljdbc_1.0.809.102)
>            Reporter: Rida Ligurs
>
>  I have a Tomcat servlet that uses a connection pool with the following settings:
> MaxActive=30
> MaxIdle=3
> MaxWait=50000 milliseconds
> IdleTimeOut=3600 seconds
> LoginTimeOut=100 seconds
> TimeBetweenEvictionRunsMills=-1
> Under load, I get the following exception:
> org.apache.commons.dbcp.SQLNestedException: Could not retrieve connection info from pool
> 	at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:171)
> 	at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:662)
> 	at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:646)
> Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host  has failed. java.net.BindException: Address already in use: connect
> 	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
> 	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
> 	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
> 	at java.sql.DriverManager.getConnection(Unknown Source)
> 	at java.sql.DriverManager.getConnection(Unknown Source)
> 	at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:177)
> 	at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:132)
> 	at org.apache.commons.dbcp.datasources.KeyedCPDSConnectionFactory.makeObject(KeyedCPDSConnectionFactory.java:158)
> 	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:747)
> 	at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:167)

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