-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Since the ISPN-12662 fix ConsistentReliabilitySplitBrainTest.testLockUseAfterPartitionWithMajority is failing in CI:
16:24:32,401 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.lock.ConsistentReliabilitySplitBrainTest.testAutoReleaseIfLockIsAcquiredFromAMinorityPartition[DENY_READ_WRITES] java.lang.Error: java.util.concurrent.ExecutionException: org.infinispan.lock.exception.ClusteredLockException: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from Test-NodeD, see cause for remote stack trace at org.infinispan.functional.FunctionalTestUtils.await(FunctionalTestUtils.java:67) ~[infinispan-core-12.1.0-SNAPSHOT-tests.jar:12.1.0-SNAPSHOT] at org.infinispan.lock.ConsistentReliabilitySplitBrainTest.testAutoReleaseIfLockIsAcquiredFromAMinorityPartition(ConsistentReliabilitySplitBrainTest.java:133) ~[test-classes/:?]
That fix replaced a usage of MapResponseCollector with VoidResponseCollector, which makes sense because the response values are ignored. The problem is that VoidResponseCollector tries to keep track of the exceptions received from all the targets by adding them as suppressed exceptions to the first received exception, and ThrowableExternalizer reuses OutdatedTopologyException instances, causing an IllegalArgumentException:
16:24:32,380 ERROR (jgroups-12,Test-NodeD:[]) [InvocationContextInterceptor] ISPN000136: Error executing command ReadWriteKeyCommand on Cache 'org.infinispan.LOCKS', writing keys [ClusteredLockKey{name=Test}] java.lang.IllegalArgumentException: Self-suppression not permitted at java.lang.Throwable.addSuppressed(Throwable.java:1066) ~[?:?] at org.infinispan.remoting.transport.impl.VoidResponseCollector.recordException(VoidResponseCollector.java:54) ~[infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.impl.VoidResponseCollector.addException(VoidResponseCollector.java:46) ~[infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.impl.VoidResponseCollector.addException(VoidResponseCollector.java:18) ~[infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.ValidResponseCollector.addResponse(ValidResponseCollector.java:29) ~[infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.impl.MultiTargetRequest.onResponse(MultiTargetRequest.java:92) [infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:51) [infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1407) [infinispan-core-12.1.0-SNAPSHOT.jar:12.1.0-SNAPSHOT]
- is related to
-
ISPN-12711 Collect exceptions from all targets in MultiTargetRequest
- New
- relates to
-
ISPN-12662 Functional commands break in replicated caches on zero-capacity nodes
- Closed