Quantcast
Channel: SCN : Popular Discussions - SAP MaxDB
Viewing all articles
Browse latest Browse all 1545

JDBC Blocks again when try to get new connections.

$
0
0

Hi,

 

again, my tomcat freezes today, and i must stop/start tomcat to get new connections:

 

i checked MaxDB server and a Running thread causes Timer to block.

 

the output of command show t_cnt of the running maxdb thread is:

 

 

--------------------  T270  USER              ( pid =      0 ) ---------------
 remote_node   : 192.168.99.1                          remote_pid    : 0
 dispatcher_cnt: 618065                                command_cnt   : 99418
 exclusive_cnt : 1035660104                            self_susp_cnt : 4
 Resume count 0  total 155        History [ T2 T2 T2 ]
 dev_read_io   : 177                                   dev_read_pg   : 177
 state_vwait   : 0          state_vsleep  : 45         state_vsusp   : 144
 rcv_rpl_count : 99418      rcv_rpl_long  : 0          avg_rcv_rpl_t : 0.0000
 dev_que_len_0 : 177        dev_que_len_1 : 0          dev_que_len>1 : 0
 prio_total    : 2                                     prio_from_oth : 2
-------------------------------------------------------------------------------

 

some of the java blocked thread example is:

 

"http-80-173" daemon prio=10 tid=0x0000000043edd000 nid=0x7ce8 waiting for monitor entry [0x000000005564c000..0x000000005564da90]   java.lang.Thread.State: BLOCKED (on object monitor)        at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:917)        - waiting to lock <0x00002aaab91895b0> (a org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)        at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)        at org.exolab.castor.jdo.engine.DatabaseRegistry.createConnection(DatabaseRegistry.java:399)        at org.exolab.castor.jdo.engine.TransactionContextImpl.getConnection(TransactionContextImpl.java:203)        at org.exolab.castor.persist.TransactionContext.query(TransactionContext.java:644)        - locked <0x00002aab12f5a5d8> (a org.exolab.castor.jdo.engine.TransactionContextImpl)        at org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:458)        at org.exolab.castor.jdo.engine.OQLQueryImpl.execute(OQLQueryImpl.java:414)        at com.supridatta.bean.DataPersist.consulta(DataPersist.java:536)        at com.supridatta.servlet.SupridattaServlet.doConsultarControl(SupridattaServlet.java:730)        at com.supridatta.servlet.SupridattaServlet$9.resolve(SupridattaServlet.java:294)        at com.supridatta.servlet.SupridattaServlet.processaOperacao(SupridattaServlet.java:144)        at com.supridatta.servlet.SupridattaServlet.doAppletControl(SupridattaServlet.java:114)        at com.supridatta.servlet.SupridattaServlet.service(SupridattaServlet.java:1747)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:183)        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

 

like this exists about 189 java blocked threads all waiting for this one:

 

"Timer-4" daemon prio=10 tid=0x0000000043ae7000 nid=0x51b3 runnable [0x0000000042128000..0x0000000042128b10]   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.receiveData(BasicSocketComm.java:577)        at com.sap.dbtech.rte.comm.BasicSocketComm.receive(BasicSocketComm.java:666)        at com.sap.dbtech.rte.comm.JdbcCommunication.execute(JdbcCommunication.java:41)        at com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:536)        - locked <0x00002aaabce3bc80> (a com.sap.dbtech.jdbc.ConnectionSapDB)        at com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:461)        at com.sap.dbtech.jdbc.ConnectionSapDB.isClosed(ConnectionSapDB.java:746)        at com.sap.dbtech.jdbc.trace.Connection.isClosed(Connection.java:400)        at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.isClosed(DelegatingConnection.java:346)        at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:324)        at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)        at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1217)        - locked <0x00002aaab91895b0> (a org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)        at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)        at java.util.TimerThread.mainLoop(Timer.java:512)        at java.util.TimerThread.run(Timer.java:462)   Locked ownable synchronizers:        - None

 

then seeing all this appears that com.sap.dbtech.jdbc.ConnectionSapDB.isClosed(ConnectionSapDB.java:746) do something that blocks all connections, but i cant understand if T270 is related to this Timer-4 java thread.

 

any idea?


Viewing all articles
Browse latest Browse all 1545

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>