-
Bug
-
Resolution: Done
-
Critical
-
9.2.0.Final
The test doesn't wait for the cluster to form before issuing a write operation. After a topology change, the retried command fails on the primary owner with a NullPointerException:
00:44:52,166 TRACE (remote-thread-Test-NodeA-p63633-t5:[]) [TrianglePerCacheInboundInvocationHandler] Topology changed, retrying: org.infinispan.statetransfer.OutdatedTopologyException 00:44:52,166 TRACE (remote-thread-Test-NodeA-p63633-t5:[]) [TrianglePerCacheInboundInvocationHandler] Sending exception ack for command CommandInvocation:Test-NodeB-50920:99611. Originator=Test-NodeB-50920. 00:44:52,166 TRACE (remote-thread-Test-NodeA-p63633-t5:[]) [JGroupsTransport] Test-NodeA-62783 sending command to Test-NodeB-50920: ExceptionAckCommand{id=99611, throwable=org.infinispan.remoting.RemoteException: Exception on Test-NodeA-62783, topologyId=4} 00:44:52,167 TRACE (jgroups-6,Test-NodeB-50920:[]) [JGroupsTransport] Test-NodeB-50920 received command from Test-NodeA-62783: ExceptionAckCommand{id=99611, throwable=org.infinispan.remoting.RemoteException: Exception on Test-NodeA-62783, topologyId=4} 00:44:52,177 TRACE (jgroups-6,Test-NodeB-50920:[]) [EntryWrappingInterceptor] This is a retry - resetting previous values for [MagicKey{2379/BEF29B28/0@Test-NodeA-62783}] 00:44:52,177 ERROR (jgroups-6,Test-NodeB-50920:[]) [InvocationContextInterceptor] ISPN000136: Error executing command PutMapCommand, writing keys [MagicKey{2379/BEF29B28/0@Test-NodeA-62783}] java.lang.NullPointerException: null at org.infinispan.interceptors.impl.EntryWrappingInterceptor.removeFromContextOnRetry(EntryWrappingInterceptor.java:357) ~[classes/:?] at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutMapCommand(EntryWrappingInterceptor.java:393) ~[classes/:?] at org.infinispan.commands.write.PutMapCommand.acceptVisitor(PutMapCommand.java:80) ~[classes/:?] at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?] at org.infinispan.interceptors.impl.PrefetchInterceptor.handleWriteManyCommand(PrefetchInterceptor.java:394) ~[classes/:?] at org.infinispan.interceptors.impl.PrefetchInterceptor.visitPutMapCommand(PrefetchInterceptor.java:450) ~[classes/:?] at org.infinispan.commands.write.PutMapCommand.acceptVisitor(PutMapCommand.java:80) ~[classes/:?] at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:188) ~[classes/:?] at org.infinispan.interceptors.impl.BaseStateTransferInterceptor.retryWhenDone(BaseStateTransferInterceptor.java:157) ~[classes/:?] at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteReturn(StateTransferInterceptor.java:338) ~[classes/:?] at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers(QueueAsyncInvocationStage.java:118) ~[classes/:?] at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:81) ~[classes/:?] at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:30) ~[classes/:?] at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760) ~[?:1.8.0_152] at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736) ~[?:1.8.0_152] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_152] at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) ~[?:1.8.0_152] at org.infinispan.interceptors.distribution.ScatteredDistributionInterceptor$SyncMergingCompletableFuture.completeExceptionally(ScatteredDistributionInterceptor.java:1397) ~[classes/:?] at org.infinispan.interceptors.distribution.ScatteredDistributionInterceptor.lambda$handleWriteManyOnOrigin$25(ScatteredDistributionInterceptor.java:1014) ~[classes/:?] at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760) [?:1.8.0_152] at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736) [?:1.8.0_152] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [?:1.8.0_152] at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) [?:1.8.0_152] at org.infinispan.util.concurrent.CommandAckCollector$CombiningCollector.primaryException(CommandAckCollector.java:553) [classes/:?] at org.infinispan.util.concurrent.CommandAckCollector$MultiAckTarget.completeExceptionally(CommandAckCollector.java:641) [classes/:?] at org.infinispan.util.concurrent.CommandAckCollector.completeExceptionally(CommandAckCollector.java:206) [classes/:?] at org.infinispan.commands.write.ExceptionAckCommand.ack(ExceptionAckCommand.java:43) [classes/:?] at org.infinispan.remoting.inboundhandler.TrianglePerCacheInboundInvocationHandler.handleExceptionAck(TrianglePerCacheInboundInvocationHandler.java:212) [classes/:?] at org.infinispan.remoting.inboundhandler.TrianglePerCacheInboundInvocationHandler.handle(TrianglePerCacheInboundInvocationHandler.java:112) [classes/:?] at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleCacheRpcCommand(GlobalInboundInvocationHandler.java:120) [classes/:?] at org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleFromCluster(GlobalInboundInvocationHandler.java:79) [classes/:?] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processRequest(JGroupsTransport.java:1295) [classes/:?] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1219) [classes/:?] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$200(JGroupsTransport.java:124) [classes/:?] at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.receive(JGroupsTransport.java:1357) [classes/:?] 00:44:52,205 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.scattered.BiasRevocationTest.testFailedRevocationDuringPutAllOnNonOwnerThrowBefore java.lang.AssertionError: Wrong exception thrown: expected:<org.infinispan.util.concurrent.TimeoutException>, actual:<org.infinispan.commons.CacheException> at org.infinispan.test.Exceptions.assertException(Exceptions.java:22) ~[test-classes/:?] at org.infinispan.test.Exceptions.expectException(Exceptions.java:99) ~[test-classes/:?] at org.infinispan.scattered.BiasRevocationTest.testFailedRevocation(BiasRevocationTest.java:105) ~[test-classes/:?] at org.infinispan.scattered.BiasRevocationTest.testFailedRevocationDuringPutAllOnNonOwnerThrowBefore(BiasRevocationTest.java:82) ~[test-classes/:?]