[infinispan-issues] [JBoss JIRA] (ISPN-8538) TwoWaySplitAndMerge[DIST_SYNC] deadlock in conflict resolution

Dan Berindei (JIRA) issues at jboss.org
Wed Nov 15 08:13:00 EST 2017


Dan Berindei created ISPN-8538:
----------------------------------

             Summary: TwoWaySplitAndMerge[DIST_SYNC] deadlock in conflict resolution
                 Key: ISPN-8538
                 URL: https://issues.jboss.org/browse/ISPN-8538
             Project: Infinispan
          Issue Type: Bug
          Components: Core, Test Suite - Core
    Affects Versions: 9.2.0.Beta1
            Reporter: Dan Berindei
            Assignee: Ryan Emerson
             Fix For: 9.2.0.Beta2


This might be related to me having trace logging enabled. One thread is stuck in 

{noformat}
"transport-thread-TwoWaySplitAndMergeTest[DIST_SYNC]-NodeA-p26871-t1" #93288 daemon prio=5 os_prio=0 tid=0x00007f51cc03d800 nid=0x4ab0 waiting for monitor entry [0x00007f515dd70000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest.cancel(StateReceiverImpl.java:213)
	- waiting to lock <0x00000000c7476a38> (a org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest)
	at org.infinispan.conflict.impl.StateReceiverImpl.stop(StateReceiverImpl.java:76)
	- locked <0x00000000e0d60fe8> (a org.infinispan.conflict.impl.StateReceiverImpl)
	at org.infinispan.conflict.impl.DefaultConflictManager$ReplicaSpliterator.tryAdvance(DefaultConflictManager.java:463)
	at java.util.Spliterator.forEachRemaining(Spliterator.java:326)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.infinispan.conflict.impl.DefaultConflictManager.doResolveConflicts(DefaultConflictManager.java:265)
	at org.infinispan.conflict.impl.DefaultConflictManager.resolveConflicts(DefaultConflictManager.java:252)
	at org.infinispan.topology.ClusterCacheStatus.updateTopologiesAfterMerge(ClusterCacheStatus.java:193)
	- locked <0x00000000e0d4c1a8> (a org.infinispan.topology.ClusterCacheStatus)
	at org.infinispan.partitionhandling.impl.PreferAvailabilityStrategy.onPartitionMerge(PreferAvailabilityStrategy.java:197)
	at org.infinispan.topology.ClusterCacheStatus.doMergePartitions(ClusterCacheStatus.java:597)
	- locked <0x00000000e0d4c1a8> (a org.infinispan.topology.ClusterCacheStatus)
	at org.infinispan.topology.ClusterTopologyManagerImpl.lambda$recoverClusterStatus$6(ClusterTopologyManagerImpl.java:528)
	at org.infinispan.topology.ClusterTopologyManagerImpl$$Lambda$753/1411554646.run(Unknown Source)
	at org.infinispan.executors.LimitedExecutor.runTasks(LimitedExecutor.java:144)
	at org.infinispan.executors.LimitedExecutor.access$100(LimitedExecutor.java:33)
	at org.infinispan.executors.LimitedExecutor$Runner.run(LimitedExecutor.java:174)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
   Locked ownable synchronizers:
	- <0x00000000cef073e8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
{noformat}

and the other in

{noformat}
"remote-thread-TwoWaySplitAndMergeTest[DIST_SYNC]-NodeA-p26869-t6" #93412 daemon prio=5 os_prio=0 tid=0x00007f5238071000 nid=0x4b3c waiting for monitor entry [0x00007f51870ee000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest.clear(StateReceiverImpl.java:182)
	- waiting to lock <0x00000000e0d60fe8> (a org.infinispan.conflict.impl.StateReceiverImpl)
	- locked <0x00000000c7476a38> (a org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest.cancel(StateReceiverImpl.java:220)
	- locked <0x00000000c7476a38> (a org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest.lambda$requestState$1(StateReceiverImpl.java:164)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest$$Lambda$1997/1053695950.apply(Unknown Source)
	at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:870)
	at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:852)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
	at org.infinispan.statetransfer.InboundTransferTask.notifyCompletion(InboundTransferTask.java:245)
	at org.infinispan.statetransfer.InboundTransferTask.onStateReceived(InboundTransferTask.java:238)
	at org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest.receiveState(StateReceiverImpl.java:205)
	- locked <0x00000000c7476a38> (a org.infinispan.conflict.impl.StateReceiverImpl$SegmentRequest)
	at org.infinispan.conflict.impl.StateReceiverImpl.receiveState(StateReceiverImpl.java:108)
	at org.infinispan.statetransfer.StateResponseCommand.invokeAsync(StateResponseCommand.java:90)
	at org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:102)
	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:99)
	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:71)
	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:40)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
   Locked ownable synchronizers:
	- <0x00000000cf105ce8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
{noformat}




--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the infinispan-issues mailing list