Hi Val:
Here's the full stack trace. The thread is running from a
ScheduledExecutorService that we implemented on top of Ignite which you can
see in our Grails plugin source code:
https://github.com/dstieglitz/grails-ignite
After some time (the amount of time varies, sometimes hours, sometimes
days), we experience thread starvation and all the scheduled jobs stop.
Any clues as to what which classes we should turn on debugging logs for, or
printlns we can output to help debug this? We've tried this with ASYNC mode
also.
Dan
"ignite-#51%pub-carl-grid%" #70 daemon prio=5 os_prio=0
tid=0x00007f6289bb3800 nid=0x5660 waiting on condition [0x00007f62827d5000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000009c085eb8> (a
org.apache.ignite.internal.util.future.GridFutureAdapter$ChainFuture)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
at
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:113)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter$21.op(GridCacheAdapter.java:2024)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter$21.op(GridCacheAdapter.java:2022)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:3955)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2022)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:1997)
at
org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.put(GridCacheProxyImpl.java:470)
at
org.apache.ignite.cache.hibernate.HibernateReadWriteAccessStrategy.putFromLoad(HibernateReadWriteAccessStrategy.java:100)
at
org.apache.ignite.cache.hibernate.HibernateAccessStrategyAdapter.putFromLoad(HibernateAccessStrategyAdapter.java:130)
at
org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.putFromLoad(HibernateAbstractRegionAccessStrategy.java:53)
at
org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:221)
at
org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)
at
org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:244)
at
org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:215)
at
org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:140)
at
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:138)
at
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:102)
at
org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:186)
at
org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4126)
at
org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:503)
at
org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:468)
at
org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)
at
org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275)
at
org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176)
at
org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2587)
at org.hibernate.internal.SessionImpl.get(SessionImpl.java:991)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate$1.doInHibernate(GrailsHibernateTemplate.java:251)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:188)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.get(GrailsHibernateTemplate.java:248)
at
org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi.doGetInstance(HibernateGormStaticApi.groovy:131)
at
org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi.get(HibernateGormStaticApi.groovy:125)
at
com.stainlesscode.ingestor.FeedSpecification.get(FeedSpecification.groovy)
at com.stainlesscode.ingestor.FeedSpecification$get$0.call(Unknown
Source)
at
com.stainlesscode.ingestor.IgniteFeedExecutorJob$_run_closure1.doCall(IgniteFeedExecutorJob.groovy:47)
at sun.reflect.GeneratedMethodAccessor495.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:207)
at
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:68)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at
org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi$6.doInHibernate(HibernateGormStaticApi.groovy:517)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:188)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:132)
at
org.codehaus.groovy.grails.orm.hibernate.GrailsHibernateTemplate$execute$0.call(Unknown
Source)
at
org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi.withNewSession(HibernateGormStaticApi.groovy:515)
at
com.stainlesscode.ingestor.FeedSpecification.withNewSession(FeedSpecification.groovy)
at
com.stainlesscode.ingestor.FeedSpecification$withNewSession.call(Unknown
Source)
at
com.stainlesscode.ingestor.IgniteFeedExecutorJob.run(IgniteFeedExecutorJob.groovy:35)
at org.grails.ignite.ScheduledRunnable.run(ScheduledRunnable.java:95)
at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4.execute(GridClosureProcessor.java:1798)
at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:482)
at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6145)
at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:476)
at
org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:429)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Hibernate-L2-cache-transactions-tp1460p1469.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.