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

Reply via email to