Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-12710

IllegalArgumentException in VoidResponseCollector: Self-suppression not permitted

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 12.0.1.Final, 12.1.0.Final
    • None
    • Core
    • 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]
      

              dberinde@redhat.com Dan Berindei (Inactive)
              dberinde@redhat.com Dan Berindei (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: