db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thoralf Rickert" <thoralf.rick...@cadooz.de>
Subject AW: Could not retrieve connection info from pool
Date Wed, 02 May 2007 11:22:55 GMT
Hi!

Is it possible, that your application uses many transactions? If you forget to close this
connections - the pool is running out of connections from time to time. Maybe there is just
one unclosed transaction somewhere in your application. If you have a lot of traffic on your
site you can increase the number of max connections...but I'm sure there is missing commit()
or safeRollback().

bye
Thoralf

> -----Urspr√ľngliche Nachricht-----
> Von: Eduardo Kinto [mailto:eakinto@buscape-inc.com] 
> Gesendet: Mittwoch, 2. Mai 2007 13:09
> An: torque-user@db.apache.org
> Betreff: Could not retrieve connection info from pool
> 
> 
> Hello,
> 
> I'm using Torque to connect to my MSSql and MySQL Server database.
> 
> Everything is working fine, just one problem, some times 
> Database connection fail and don't come back (both, mysql and 
> mssql) by it self and I have to restart my webserver (where 
> it is running my application).
> 
> Running the command netstat, I can't see any connnection to 
> database server.
> 
> I'm using:
> - torque-3.2.jar
> - apache tomcat 5.5.12
> - java jdk 1.5.0_06
> - RedHat Linux Enterprise 4
> 
> And the folowing torque setup for mysql:
> 
> torque.dsfactory.APP.factory = 
> org.apache.torque.dsfactory.SharedPoolDataSourceFactory
> torque.dsfactory.APP.connection.driver = 
> com.mysql.jdbc.Driver torque.dsfactory.APP.connection.url = 
> jdbc:mysql://IP:PORT/APP?autoReconnect=true
> torque.dsfactory.APP.connection.user = yyy 
> torque.dsfactory.APP.connection.password = xxx 
> torque.dsfactory.APP.pool.defaultTransactionIsolation=1
> torque.dsfactory.APP.pool.maxWait=600000
> torque.dsfactory.APP.pool.maxActive=32
> torque.dsfactory.APP.pool.maxIdle=32
> torque.dsfactory.APP.pool.testOnBorrow=true
> torque.dsfactory.APP.pool.validationQuery=SELECT 1
> 
> And for MSSqlServer:
> torque.dsfactory.APP2.factory = 
> org.apache.torque.dsfactory.SharedPoolDataSourceFactory
> torque.dsfactory.APP2.connection.driver = 
> net.sourceforge.jtds.jdbc.Driver 
> torque.dsfactory.APP2.connection.url = 
> jdbc:jtds:sqlserver://IP:1433/DATABASE
> .. similary to mysql ...
> 
> The ERROR message:
> org.apache.torque.TorqueException: 
> org.apache.commons.dbcp.SQLNestedException: Could not 
> retrieve connection info from pool
>         at 
> org.apache.torque.TorqueInstance.getConnection(TorqueInstance.
> java:825)
>         at org.apache.torque.Torque.getConnection(Torque.java:272)
>         at 
> org.apache.torque.util.BasePeer.doPSSelect(BasePeer.java:1478)
> ... 
> Caused by: org.apache.commons.dbcp.SQLNestedException: Could 
> not retrieve connection info from pool
>         at 
> org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPo
> oledConnectionAndInfo(SharedPoolDataSource.java:169)
>         at 
> org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getC
> onnection(InstanceKeyDataSource.java:631)
>         at 
> org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getC
> onnection(InstanceKeyDataSource.java:615)
>         at 
> org.apache.torque.TorqueInstance.getConnection(TorqueInstance.
> java:821)
>         ... 11 more
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.commons.collections.SequencedHashMap.removeEntry(Se
> quencedHashMap.java:215)
>         at 
> org.apache.commons.collections.SequencedHashMap.removeImpl(Seq
> uencedHashMap.java:473)
>         at 
> org.apache.commons.collections.SequencedHashMap.remove(Sequenc
> edHashMap.java:460)
>         at org.apache.commons.collections.LRUMap.get(LRUMap.java:93)
>         at 
> org.apache.commons.dbcp.datasources.SharedPoolDataSource.getUs
> erPassKey(SharedPoolDataSource.java:176)
>         at 
> org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPo
> oledConnectionAndInfo(SharedPoolDataSource.java:165)
>         ... 14 more
> 
> 
> 
> Restarting my webserver everything is working fine again. 
> Can't torque re-establish a valid connection to the database 
> by it self ?
> 
> I have an heavy activity on my MSSql database, sometime I get 
> the following error message: Caused by: 
> java.sql.SQLException: I/O Error: Connection reset
>         at 
> net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:797)
>         at 
> net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStateme
> nt.java:332)
>         at 
> net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStat
> ement.java:723)
>         at 
> net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStat
> ement.java:652)
>         at 
> org.apache.torque.util.BasePeer.executeStatement(BasePeer.java:1294)
>         ... 6 more
> 
> Does the error "Connection reset" is telling me I'm losting 
> one connection from the pool and after losing all connection 
> I get "Could not retrieve connection info from pool" ? If so, 
> do I have to create a new connection and set it on the pool ?
> 
> 
> Thank you,
> 
> Eduardo.
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Mime
View raw message