Toplink Grid Deadlock With Coherence Near Cache (Doc ID 1448610.1)

Last updated on SEPTEMBER 21, 2017

Applies to:

Oracle TopLink - Version 11.1.1.4.0 and later
Information in this document applies to any platform.

Symptoms

Eclipselink 2.1.2 is bundled with Weblogic 10.3.4
Deadlock is detected when using the TopLink Grid Cache together with near cache configuration.


Error is as below:

[deadlocked thread] [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)':
--------------------------------------------------------------------------------------------------
Thread '[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'org.eclipse.persistence.internal.indirection.QueryBasedValueHolder@1f5984eb' that is held by thread '[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)''

...
org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:80)
org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:237)
org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:398)
org.eclipse.persistence.indirection.IndirectList.size(IndirectList.java:727)
org.eclipse.persistence.internal.queries.CollectionContainerPolicy.sizeFor(CollectionContainerPolicy.java:177)
org.eclipse.persistence.internal.queries.ContainerPolicy.buildReferencesPKList(ContainerPolicy.java:281)
org.eclipse.persistence.mappings.CollectionMapping.buildReferencesPKList(CollectionMapping.java:258)
...



[deadlocked thread] [ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)':
--------------------------------------------------------------------------------------------------
Thread '[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'org.eclipse.persistence.indirection.IndirectList@1f5977ee' that is held by thread '[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)''
...
org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:396)
org.eclipse.persistence.indirection.IndirectList.size(IndirectList.java:727)
org.eclipse.persistence.internal.queries.CollectionContainerPolicy.sizeFor(CollectionContainerPolicy.java:177)
org.eclipse.persistence.internal.queries.ContainerPolicy.buildReferencesPKList(ContainerPolicy.java:281)
org.eclipse.persistence.mappings.CollectionMapping.buildReferencesPKList(CollectionMapping.java:258)
oracle.eclipselink.coherence.integrated.internal.cache.CoherenceCacheHelper.updateRelationship(CoherenceCacheHelper.java:171)
oracle.eclipselink.coherence.integrated.cache.CoherenceInterceptor.lazyRelationshipLoaded(CoherenceInterceptor.java:180)
org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.postInstantiate(QueryBasedValueHolder.java:123)
org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:85)
...

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms