Details
-
Bug
-
Resolution: Done
-
Major
-
9.2.0.Beta2
Description
java.util.concurrent.ExecutionException: org.infinispan.commons.CacheException: java.lang.AssertionError: expected:<RemoteGetDuringStateTransferTest-NodeC-51737> but was:<RemoteGetDuringStateTransferTest-NodeB-41634> at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.infinispan.statetransfer.RemoteGetDuringStateTransferTest.testScenario_2xy2(RemoteGetDuringStateTransferTest.java:526) at org.infinispan.statetransfer.RemoteGetDuringStateTransferTest.testScenario_2322(RemoteGetDuringStateTransferTest.java:452) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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) Caused by: org.infinispan.commons.CacheException: java.lang.AssertionError: expected:<RemoteGetDuringStateTransferTest-NodeC-51737> but was:<RemoteGetDuringStateTransferTest-NodeB-41634> at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:141) at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:62) at org.infinispan.interceptors.InvocationExceptionFunction.apply(InvocationExceptionFunction.java:21) 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:66) at org.infinispan.remoting.transport.impl.SingleTargetRequest.receiveResponse(SingleTargetRequest.java:56) at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:35) at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:53) at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1329) at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1239) at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$200(JGroupsTransport.java:121) at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.receive(JGroupsTransport.java:1367) at org.jgroups.JChannel.up(JChannel.java:819) at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:893) at org.jgroups.protocols.RSVP.up(RSVP.java:163) at org.jgroups.protocols.FlowControl.up(FlowControl.java:343) at org.jgroups.protocols.tom.TOA.up(TOA.java:112) at org.jgroups.protocols.pbcast.GMS.up(GMS.java:864) at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:240) at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1002) at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:728) at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:383) at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:600) at org.jgroups.protocols.Discovery.up(Discovery.java:267) at org.jgroups.protocols.TP.passMessageUp(TP.java:1229) at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:87) ... 3 more Caused by: java.lang.AssertionError: expected:<RemoteGetDuringStateTransferTest-NodeC-51737> but was:<RemoteGetDuringStateTransferTest-NodeB-41634> at org.infinispan.statetransfer.RemoteGetDuringStateTransferTest.lambda$testScenario_2xy2$6(RemoteGetDuringStateTransferTest.java:500) at org.infinispan.tx.dld.ControlledRpcManager.lambda$checkResponses$0(ControlledRpcManager.java:86) at org.infinispan.tx.dld.ControlledRpcManager.lambda$afterInvokeRemotely$1(ControlledRpcManager.java:132) at java.util.ArrayList.forEach(ArrayList.java:1255) at org.infinispan.tx.dld.ControlledRpcManager.afterInvokeRemotely(ControlledRpcManager.java:132) at org.infinispan.util.AbstractControlledRpcManager.lambda$invokeRemotelyAsync$0(AbstractControlledRpcManager.java:43) at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) ... 27 more
This cannot happen anymore after the ISPN-7919 fix landed, because ControlledRpcManager.checkResponses() doesn't see who sent the response, but we should go back and check that the response is from the node we expected.