Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-7604

StateTransferLockImpl.stop() never runs

    Details

      Description

      StateTransferLockImpl.stop() is supposed to signal the installation of topology Integer.MAX_VALUE, in order to unblock any commands waiting for a new topology. However, it doesn't have the @Stop annotation, so it's never called, and threads waiting on a new topology will block forever:

      "jgroups-4,test-NodeB-41665@3770" prio=5 tid=0x1f nid=NA waiting
        java.lang.Thread.State: WAITING
      	  at sun.misc.Unsafe.park(Unsafe.java:-1)
      	  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	  at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693)
      	  at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
      	  at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729)
      	  at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
      	  at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runSync(BaseBlockingRunnable.java:48)
      	  at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:38)
      	  at org.infinispan.remoting.inboundhandler.TrianglePerCacheInboundInvocationHandler.handleStateRequestCommand(TrianglePerCacheInboundInvocationHandler.java:171)
      	  at org.infinispan.remoting.inboundhandler.TrianglePerCacheInboundInvocationHandler.handle(TrianglePerCacheInboundInvocationHandler.java:109)
      	  at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleCacheRpcCommand(GlobalInboundInvocationHandler.java:120)
      	  at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleFromCluster(GlobalInboundInvocationHandler.java:79)
      	  at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommandFromLocalCluster(CommandAwareRpcDispatcher.java:175)
      	  at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:149)
      	  at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:383)
      	  at org.jgroups.blocks.RequestCorrelator.dispatch(RequestCorrelator.java:356)
      	  at org.jgroups.blocks.RequestCorrelator.receiveMessageBatch(RequestCorrelator.java:326)
      	  at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:586)
      	  at org.jgroups.JChannel.up(JChannel.java:813)
      	  at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:896)
      	  at org.jgroups.protocols.RSVP.up(RSVP.java:233)
      	  at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
      	  at org.jgroups.stack.Protocol.up(Protocol.java:344)
      	  at org.jgroups.stack.Protocol.up(Protocol.java:344)
      	  at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:293)
      	  at org.jgroups.protocols.UNICAST3.deliverBatch(UNICAST3.java:1083)
      	  at org.jgroups.protocols.UNICAST3.removeAndDeliver(UNICAST3.java:892)
      	  at org.jgroups.protocols.UNICAST3.handleBatchReceived(UNICAST3.java:858)
      	  at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:529)
      	  at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:695)
      	  at org.jgroups.stack.Protocol.up(Protocol.java:344)
      	  at org.jgroups.protocols.TP.passBatchUp(TP.java:1229)
      	  at org.jgroups.util.MaxOneThreadPerSender$BatchHandlerLoop.passBatchUp(MaxOneThreadPerSender.java:284)
      	  at org.jgroups.util.SubmitToThreadPool$BatchHandler.run(SubmitToThreadPool.java:136)
      	  at org.jgroups.util.MaxOneThreadPerSender$BatchHandlerLoop.run(MaxOneThreadPerSender.java:273)
      	  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)
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dan.berindei Dan Berindei
                  Reporter:
                  dan.berindei Dan Berindei
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: