-
Bug
-
Resolution: Done
-
Critical
-
7.1.0.Alpha1, 7.0.3.Final
I got a failure in DistributedExecutorFailureTest (master only) on my machine because the distributed executor ignores CacheNotFoundResponse responses:
15:18:45,516 TRACE (transport-thread-NodeA-p30129-t4:) [CommandAwareRpcDispatcher] Response: CacheNotFoundResponse 15:18:45,516 TRACE (transport-thread-NodeA-p30129-t4:) [RpcManagerImpl] Response(s) to DistributedExecuteCommand [cache=null, keys=[], callable=org.infinispan.distexec.DistributedExecutorFailoverTest$SleepingSimpleCallable@23a9b62a] is {NodeB-4305=CacheNotFoundResponse} 15:18:45,517 ERROR (testng-DistributedExecutorFailoverTest:) [UnitTestTestNGListener] Test testBasicTargetRemoteDistributedCallable(org.infinispan.distexec.DistributedExecutorFailoverTest) failed. java.lang.AssertionError: expected:<1> but was:<null> at org.testng.AssertJUnit.fail(AssertJUnit.java:59) at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364) at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80) at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88) at org.infinispan.distexec.DistributedExecutorFailoverTest.testBasicTargetRemoteDistributedCallable(DistributedExecutorFailoverTest.java:74)
RemoteDistributedTaskPart.retrieveResult() ignores any response that's not a SuccessfulResponse and returns null. It should throw an exception instead, so that the failover policy can retry it on another node.