Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-2452

UFC_NB/MFC_NB: blocks

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 5.0.0.Alpha3, 4.2.0
    • None
    • None

    Description

      Despite having full credits and queuing==false, we have a sender thread blocking (see below).

      This can happen when a thread is queueing; when we stop the member, or a new view is installed, queueing is never set to false and the thread is never unblocked!

      "jgroups-830,ma267mlvjdg021" #1394 prio=5 os_prio=0 tid=0x0000000004442000 nid=0x307c waiting on condition [0x00007fbda44be000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000005f2189da0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
      	at org.jgroups.util.SizeBoundedQueue.add(SizeBoundedQueue.java:51)
      	at org.jgroups.util.NonBlockingCredit.addToQueue(NonBlockingCredit.java:98)
      	at org.jgroups.util.NonBlockingCredit.decrementIfEnoughCredits(NonBlockingCredit.java:58)
      	at org.jgroups.protocols.UFC_NB.handleDownMessage(UFC_NB.java:87)
      	at org.jgroups.protocols.FlowControl.down(FlowControl.java:315)
      	at org.jgroups.protocols.FlowControl.down(FlowControl.java:309)
      	at org.jgroups.protocols.FRAG3.down(FRAG3.java:145)
      	at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:914)
      	at org.jgroups.JChannel.down(JChannel.java:677)
      	at org.jgroups.JChannel.send(JChannel.java:516)
      	at org.jgroups.protocols.relay.Route.send(Route.java:42)
      	at org.jgroups.protocols.relay.RELAY2.route(RELAY2.java:572)
      	at org.jgroups.protocols.relay.RELAY2.down(RELAY2.java:425)
      	at org.jgroups.stack.Protocol.down(Protocol.java:317)
      	at org.jgroups.fork.ForkProtocol.down(ForkProtocol.java:42)
      	at org.jgroups.fork.ForkProtocolStack.down(ForkProtocolStack.java:62)
      	at org.jgroups.fork.ForkChannel.send(ForkChannel.java:222)
      	at org.jgroups.fork.ForkChannel.send(ForkChannel.java:21)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.send(JGroupsTransport.java:1041)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:998)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.backupRemotely(JGroupsTransport.java:329)
      	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeXSite(RpcManagerImpl.java:414)
      	at org.infinispan.xsite.BackupSenderImpl.backupCommand(BackupSenderImpl.java:250)
      	at org.infinispan.xsite.BackupSenderImpl.backupWrite(BackupSenderImpl.java:201)
      	at org.infinispan.interceptors.xsite.NonTransactionalBackupInterceptor.handleSingleKeyWriteReturn(NonTransactionalBackupInterceptor.java:144)
      	at org.infinispan.interceptors.xsite.NonTransactionalBackupInterceptor$$Lambda$655/1680487200.accept(Unknown Source)
      	at org.infinispan.interceptors.InvocationSuccessAction.apply(InvocationSuccessAction.java:22)
      	at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers(QueueAsyncInvocationStage.java:118)
      	at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:81)
      	at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:30)
      	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
      	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
      	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
      	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
      	at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:67)
      	at org.infinispan.remoting.transport.impl.MultiTargetRequest.onResponse(MultiTargetRequest.java:102)
      	at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:52)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1361)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1264)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:127)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1425)
      	at org.jgroups.JChannel.up(JChannel.java:816)
      	at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:134)
      	at org.jgroups.stack.Protocol.up(Protocol.java:339)
      	at org.jgroups.protocols.FORK.up(FORK.java:142)
      	at org.jgroups.protocols.relay.RELAY2.up(RELAY2.java:452)
      	at org.jgroups.protocols.FRAG3.up(FRAG3.java:171)
      	at org.jgroups.protocols.FlowControl.up(FlowControl.java:339)
      	at org.jgroups.protocols.FlowControl.up(FlowControl.java:339)
      	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:872)
      	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:240)
      	at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1008)
      	at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:734)
      	at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:389)
      	at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:590)
      	at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:131)
      	at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:203)
      	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:253)
      	at org.jgroups.protocols.MERGE3.up(MERGE3.java:280)
      	at org.jgroups.protocols.Discovery.up(Discovery.java:295)
      	at org.jgroups.protocols.TP.passMessageUp(TP.java:1250)
      	at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:87)
      	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)
      

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: