Mikolaj Are you using the DBCP 1.2.2 distro as Filip suggested?
Dziekuje/ Martin ______________________________________________ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. > Date: Fri, 7 Nov 2008 11:47:17 +0100 > From: [EMAIL PROTECTED] > To: users@tomcat.apache.org > Subject: Deadlocks with Oracle > > Hi, > > I have following setup: Tomcat 5.5.23 with Oracle database 10.2.0.1.0 > with DataSource defined as: > > <Resource name="jdbc/db" auth="Container" type="javax.sql.DataSource" > maxActive="50" maxIdle="10" maxWait="10000" > validationQuery="select sysdate from dual" testOnBorrow="true" > username="x" password="x" > driverClassName="oracle.jdbc.OracleDriver" > url="jdbc:oracle:thin:@10.76.162.21:1532:CAP" > removeAbandoned="true" removeAbandonedTimeout="30" > logAbandoned="true" /> > > There are several webapps deployed. After some time, depending on usage, > applications get stucked - I mean every request that needs database > connection hangs. Thread dump looks ALWAYS the same: > > "http-8080-Processor21" daemon prio=1 tid=0x22aed1d8 nid=0x6958 runnable > [0x20a6c000..0x20a6e7f0] > at java.net.SocketInputStream.socketRead0(Native Method) > at java.net.SocketInputStream.read(SocketInputStream.java:129) > at oracle.net.ns.Packet.receive(Unknown Source) > at oracle.net.ns.DataPacket.receive(Unknown Source) > at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source) > at oracle.net.ns.NetInputStream.read(Unknown Source) > at oracle.net.ns.NetInputStream.read(Unknown Source) > at oracle.net.ns.NetInputStream.read(Unknown Source) > at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1099) > at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1070) > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:478) > at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207) > at > oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:790) > at > oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039) > > > at > oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132) > > > at > oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1272) > - locked <0xac40fc70> (a oracle.jdbc.driver.T4CStatement) > - locked <0x90979730> (a oracle.jdbc.driver.T4CConnection) > at > org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205) > > > at > org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:328) > > > at > org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:308) > > > at > org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:788) > > > at > org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:74) > > > at > org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95) > > > at > org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) > > > > It happens ONLY on this particular environment/setup. So I doubt it's > application's fault. > > For testing purposes I have deployed simply webapp, that on request > calls DataSource.getConnection() in a loop until exception occurs. Then > it closes every achieved connection. Just for test. And to my surprise > it helps! > When other apps hang waiting for Connections (confirmed with thread > dump), I issue a request to my testing app, it starts to iterate, then > 'org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a > connection, pool exhausted' occurs and everything becomes normal. > Blocked threads are no longer blocked, users can continue their work. > > Has anyone got any clues? What and where is wrong? > > -- > Mikolaj Rydzewski <[EMAIL PROTECTED]> > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > _________________________________________________________________ Windows Live Hotmail now works up to 70% faster. http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_faster_112008