Road 2 Home

Road 2 Home

Sunday, March 28, 2004

FireWall between weblogic & DataBase server may cause weblogic hang!!!

some time we meet weblogic hang ,we use thread dump to detect the reason:

3XMTHREADINFO "ExecuteThread: '10' for queue: 'default'" (TID:0x302C39C8, sys_thread_t:0x3F6AB8B0, state:R, native ID:0x1011) prio=5
4XESTACKTRACE at java.net.SocketInputStream.socketRead(Native Method)
4XESTACKTRACE at java.net.SocketInputStream.read(SocketInputStream.java(Compiled Code))
4XESTACKTRACE at oracle.net.ns.Packet.receive(Unknown Source)(Compiled Code)
4XESTACKTRACE at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)(Compiled Code)
4XESTACKTRACE at oracle.net.ns.NetInputStream.read(Unknown Source)(Compiled Code)
4XESTACKTRACE at oracle.net.ns.NetInputStream.read(Unknown Source)(Inlined Compiled Code)
4XESTACKTRACE at oracle.net.ns.NetInputStream.read(Unknown Source)(Compiled Code)
4XESTACKTRACE at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java(Compiled Code))
4XESTACKTRACE at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java(Inlined Compiled Code))
4XESTACKTRACE at oracle.jdbc.ttc7.Oopen.receive(Oopen.java(Compiled Code))
4XESTACKTRACE at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java(Compiled Code))
4XESTACKTRACE at oracle.jdbc.driver.OracleStatement.(OracleStatement.java(Compiled Code))
4XESTACKTRACE at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java(Inlined Compiled Code))
4XESTACKTRACE at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java(Compiled Code))
4XESTACKTRACE at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java(Compiled Code))
4XESTACKTRACE at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java(Compiled Code))
4XESTACKTRACE at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:658)
4XESTACKTRACE at weblogic.jdbc.common.internal.ResourceAllocator.reserveNoWait(ResourceAllocator.java:616)
4XESTACKTRACE at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:165)
4XESTACKTRACE at weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(ConnectionPool.java:127)
4XESTACKTRACE at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:259)
4XESTACKTRACE at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:292)
........


we also found many other users have this same problem,it seems oracle connection hang ,later , we find the firewall will clear the unuse connection ,but the wls pool (or JDBC driver)will not detect it,so the hang occur

in weblogic 7.0 ,in configuration of pool ,we can set up refresh period, it will help us to use those unused connection in the period