From torque-user-return-7524-apmail-db-torque-user-archive=db.apache.org@db.apache.org Wed May 02 18:48:06 2007 Return-Path: Delivered-To: apmail-db-torque-user-archive@www.apache.org Received: (qmail 15411 invoked from network); 2 May 2007 18:48:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 May 2007 18:48:05 -0000 Received: (qmail 87606 invoked by uid 500); 2 May 2007 18:48:11 -0000 Delivered-To: apmail-db-torque-user-archive@db.apache.org Received: (qmail 87586 invoked by uid 500); 2 May 2007 18:48:10 -0000 Mailing-List: contact torque-user-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Apache Torque Users List" Reply-To: "Apache Torque Users List" Delivered-To: mailing list torque-user@db.apache.org Received: (qmail 87575 invoked by uid 99); 2 May 2007 18:48:10 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 May 2007 11:48:10 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [81.209.148.146] (HELO dd1212.kasserver.com) (81.209.148.146) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 May 2007 11:48:03 -0700 Received: from [192.168.2.35] (p54A16E06.dip.t-dialin.net [84.161.110.6]) by dd1212.kasserver.com (Postfix) with ESMTP id 29DFF193D6D for ; Wed, 2 May 2007 20:46:57 +0200 (CEST) Message-ID: <4638DD0F.3060402@manskes.de> Date: Wed, 02 May 2007 20:48:47 +0200 From: Michael Manske Reply-To: netseeker@manskes.de User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: Apache Torque Users List Subject: Re: Could not retrieve connection info from pool References: <389901c78caa$4a3b7cd0$c615a8c0@Tecnologia04> In-Reply-To: <389901c78caa$4a3b7cd0$c615a8c0@Tecnologia04> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi Eduardo, we were facing similiar issues with a "heavy-load-application" and torque 3.2. The application uses four connection pools and many connections with a lot of concurrent transactions. The stack trace of the exception was the same as yours. Other torque based applications developed by us were running fine without running out of connections. After many days of profiling, debugging and optimizing we tracked down the issues to commons-dbcp, especially to http://issues.apache.org/jira/browse/DBCP-100. After updating commons-dbcp from 1.2.1 to 1.2.2 the problems are gone. Please note: Even if updating commons-dbcp was the solution in our special case, running out of connections is mostly caused due to programming errors... cheers Michael Eduardo Kinto schrieb: > 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.getPooledConnectionAndInfo(SharedPoolDataSource.java:169) > at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:631) > at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(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(SequencedHashMap.java:215) > at org.apache.commons.collections.SequencedHashMap.removeImpl(SequencedHashMap.java:473) > at org.apache.commons.collections.SequencedHashMap.remove(SequencedHashMap.java:460) > at org.apache.commons.collections.LRUMap.get(LRUMap.java:93) > at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getUserPassKey(SharedPoolDataSource.java:176) > at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(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(JtdsStatement.java:332) > at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:723) > at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.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. > > > > > ------------------------------------------------------------------------ > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 02.05.2007 14:16 --------------------------------------------------------------------- To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org For additional commands, e-mail: torque-user-help@db.apache.org