-
Bug
-
Resolution: Done
-
Major
-
None
-
None
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)
- relates to
-
ISPN-11373 XSite backup commands should be sent from a blocking thread
- Closed