Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Put entry into backing map directly but write behind thread seems deadlock

925966May 17 2012 — edited May 18 2012
Hi all,

I have a entry processor which is invoked against a cache called counterparty which has data affinity with another cache called position.
Inside the processor, I put new entry into position cache. The entry carries same counterparty key on which this is invoked.
It works just fine and I can get the entry after the processor returns.

However, the write-behind thread seems deadlock and cant insert the new entry into DB.

Is this an known issue? Or what goes wrong? Pls see below thread dump.

thanks,
Henry

Thread[PartitionedPofCacheWorker:19,5,PartitionedPofCache]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:196)
com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
com.tangosol.coherence.component.util.DaemonPool$Daemon.onWait(DaemonPool.CDB:9)
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$DaemonPool$Daemon.onWait(Grid.CDB:3)
com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
java.lang.Thread.run(Thread.java:736)

Thread[UCP-worker-thread-9,5,PartitionedPofCache]
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:173)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1937)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:370)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:959)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
java.lang.Thread.run(Thread.java:736)

17 May 2012 17:01:27.120 WARN coherence - 2012-05-17 17:01:27.100/364.030 Oracle Coherence GE 3.7.1.0 <Warning> (thread=Termination Thread, member=2): Terminating Daemon{Thread="Thread[WriteBehindThread:CacheStoreWrapper(com.dbsvickers.fotsrevamp.dao.TxnAcctInstmPostnCacheStore):PartitionedPofCache,5,WriteBehindThread:CacheStoreWrapper(com.dbsvickers.fotsrevamp.dao.TxnAcctInstmPostnCacheStore):PartitionedPofCache]", State=Running}
17 May 2012 17:01:27.121 ERROR coherence - 2012-05-17 17:01:27.101/364.031 Oracle Coherence GE 3.7.1.0 <Error> (thread=Termination Thread, member=2): The write-behind thread timed out. This could be indicative of an extremely slow-running or hung CacheStore call, or deadlock.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 15 2012
Added on May 17 2012
3 comments
570 views