Hi,

Can you please provide some pointers on debugging this issue:


We have a Spring application that has a jackrabbit repository.
We also use Quartz within this Spring application for some crons.

I see around 63 to 73 connections to the remote mysql server when the app is 
running in production
All of them are coming from the tomcat process running our application.
How can I find which parts of the application is making all these connections?


Our application had run out of memory .
The exception is pasted below. It seems to be pointing at Mysql communication 
failure.
Please also find attached the 87 threads under tomcat that were logged near the 
error.
tomcat settings:

max_heap_size_mb  2048
min_heap_size_mb  512

Logs:

2013-06-05 12:12:27,616 [ClusterNode-node1] ERROR 
org.apache.jackrabbit.core.cluster.ClusterNode  - Periodic sync of journal 
failed: Couldn't sync the cluster node
org.apache.jackrabbit.core.cluster.ClusterException: Couldn't sync the cluster 
node
    at org.apache.jackrabbit.core.cluster.ClusterNode.sync(ClusterNode.java:331)
    at org.apache.jackrabbit.core.cluster.ClusterNode.run(ClusterNode.java:293)
    at java.lang.Thread.run(Thread.java:662)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 
Communications link failure

The last packet successfully received from the server was 362,492 milliseconds 
ago.  The last packet sent successfully to the server was 19,111 milliseconds 
ago.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3102)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
    at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5000)
    at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
    at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
    at 
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328)
    at 
org.apache.jackrabbit.core.util.db.ConnectionHelper.startBatch(ConnectionHelper.java:240)
    at 
org.apache.jackrabbit.core.journal.DatabaseJournal.startBatch(DatabaseJournal.java:506)
    at 
org.apache.jackrabbit.core.journal.DatabaseJournal.doSync(DatabaseJournal.java:450)
    at 
org.apache.jackrabbit.core.journal.AbstractJournal.internalSync(AbstractJournal.java:206)
    at 
org.apache.jackrabbit.core.journal.AbstractJournal.sync(AbstractJournal.java:189)
    at org.apache.jackrabbit.core.cluster.ClusterNode.sync(ClusterNode.java:328)
    ... 2 more
Caused by: java.io.EOFException: Can not read response from server. Expected to 
read 4 bytes, read 0 bytes before connection was unexpectedly lost. 
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2552)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
    ... 17 more
2013-06-05 12:12:29,934 
[QuartzScheduler_org.springframework.scheduling.quartz.SchedulerFactoryBean#0-bf1-rmaicic1.ads.bf1.yahoo.com1370389426455_MisfireHandler]
 ERROR org.springframework.scheduling.quartz.LocalDataSourceJobStore  - 
MisfireHandler: Error handling misfires: Failed to obtain DB connection from 
data source 
'springNonTxDataSource.org.springframework.scheduling.quartz.SchedulerFactoryBean#0':
 java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space
org.quartz.JobPersistenceException: Failed to obtain DB connection from data 
source 
'springNonTxDataSource.org.springframework.scheduling.quartz.SchedulerFactoryBean#0':
 java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space [See nested 
exception: java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space] 
    at 
org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:165)
    at 
org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3132)
    at 
org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3923)
    at 
org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3943)
Caused by: java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space 


Thanks
-Priyanka
acl%0043ache.data
ClusterNode-node1
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2
ContainerBackgroundProcessor[StandardEngine[Catalina]]
DynamicPooledExecutor
Finalizer
http-bio-0.0.0.0-4080-Acceptor-0
http-bio-0.0.0.0-4080-AsyncTimeout
http-bio-0.0.0.0-4080-exec-109
http-bio-0.0.0.0-4080-exec-114
http-bio-0.0.0.0-4080-exec-120
http-bio-0.0.0.0-4080-exec-121
http-bio-0.0.0.0-4080-exec-124
http-bio-0.0.0.0-4080-exec-125
http-bio-0.0.0.0-4080-exec-26
http-bio-0.0.0.0-4080-exec-50
http-bio-0.0.0.0-4080-exec-51
http-bio-0.0.0.0-4080-exec-53
jackrabbit-pool-1
jackrabbit-pool-10
jackrabbit-pool-11
jackrabbit-pool-12
jackrabbit-pool-13
jackrabbit-pool-14
jackrabbit-pool-15
jackrabbit-pool-16
jackrabbit-pool-2
jackrabbit-pool-3
jackrabbit-pool-4
jackrabbit-pool-5
jackrabbit-pool-6
jackrabbit-pool-7
jackrabbit-pool-8
jackrabbit-pool-9
Java2D Disposer
main
MultiThreadedHttpConnectionManager cleanup
net.sf.ehcache.CacheManager@15aec0
ObservationManager
ObservationManager
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_QuartzSchedulerThread
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-11
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-12
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-13
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-14
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-15
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-16
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-17
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-18
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-19
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-20
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-21
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-22
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-23
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-24
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-25
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-7
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9
process reaper
process reaper
process reaper
process reaper
QuartzScheduler_org.springframework.scheduling.quartz.SchedulerFactoryBean#0-bf1-rmaicic1.ads.bf1.yahoo.com1370389426455_ClusterManager
QuartzScheduler_org.springframework.scheduling.quartz.SchedulerFactoryBean#0-bf1-rmaicic1.ads.bf1.yahoo.com1370389426455_MisfireHandler
Reference Handler
Signal Dispatcher
Timer-0
Timer-1
Timer-2
Timer-3
Timer-4

Reply via email to