Skip to Content
0
Former Member
Jun 16, 2008 at 01:52 PM

system freezes when JDBC attempt to connect

614 Views

Hi,

i'm having some full system freezes, that dont let the JDBC to connect to the database for 3 minutes, checking the stack trace of JVM i have:

"http-80-exec-17" daemon prio=10 tid=0x0000000047abf800 nid=0x264f runnable [0x0000000042d33000..0x0000000042d34a90]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at com.sap.dbtech.rte.comm.BasicSocketComm.receiveConnect(BasicSocketComm.java:707)
	at com.sap.dbtech.rte.comm.BasicSocketComm.dbConnectExchange(BasicSocketComm.java:789)
	at com.sap.dbtech.rte.comm.BasicSocketComm.connectDB(BasicSocketComm.java:233)
	at com.sap.dbtech.rte.comm.SocketComm$1.open(SocketComm.java:38)
	at com.sap.dbtech.jdbc.DriverSapDB.openConnection(DriverSapDB.java:966)
	at com.sap.dbtech.jdbc.DriverSapDB.openByURL(DriverSapDB.java:891)
	at com.sap.dbtech.jdbc.DriverSapDB.connect(DriverSapDB.java:208)
	- locked <0x00002aaac078f010> (a com.sap.dbtech.jdbc.DriverSapDB)
	at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
	at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
	- locked <0x00002aaac078ef98> (a org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory)
	at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
	at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
        ...

this thread blocks any other thread that attempts to connect to database or run any query (when i take the above snashot exists 39 threads BLOCKED), causing a full system freeze for 3 minutes, appears to be a problem when the JDBC tries to get a new connection, the time to get this new connection is too high, there is a way to check how and because the connection consumes too much time to be ready?

for know:

The application server and the database server are connected by a cross-over cable with Gigabit ethernet card, the db version is the 7.6.3.07, the JVM version is 1.6.0

thanks for any help

Clóvis