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

IndexingDuringStateTransferTest random failures

    XMLWordPrintable

Details

    Description

      IndexingDuringStateTransferTest.test blocks StateResponseCommand so that state transfer doesn't finish during the test. Since state transfer is now non-blocking, blocking the thread that's trying to send the StateResponseCommand also prevents it from sending the response to the StateTransferStartCommand.

      Because the StateTransferStartCommand is blocked, the requestor can't complete the transaction data future in StateTransferLockImpl, and the test can't proceed to unblock the StateResumeCommand.

      The RpcManager wrapper is supposed to send the command anyway, but it doesn't catch AssertionError, so the command isn't sent and the rebalance hangs.

      Eventually the put times out, and the next test also fails because it can't add a new manager:

      java.lang.RuntimeException: java.util.concurrent.TimeoutException
      	at org.infinispan.query.blackbox.IndexingDuringStateTransferTest.test(IndexingDuringStateTransferTest.java:189)
      	at org.infinispan.query.blackbox.IndexingDuringStateTransferTest.testPut(IndexingDuringStateTransferTest.java:78)
      	at org.infinispan.commons.test.TestNGLongTestsHook.run(TestNGLongTestsHook.java:24)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: java.util.concurrent.TimeoutException
      
          org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Initial state transfer timed out for cache defaultcache on IndexingDuringStateTransferTest-NodeF
      	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:746)
      	at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:712)
      	at org.infinispan.test.MultipleCacheManagersTest.addClusterEnabledCacheManager(MultipleCacheManagersTest.java:268)
      	at org.infinispan.test.MultipleCacheManagersTest.addClusterEnabledCacheManager(MultipleCacheManagersTest.java:232)
      	at org.infinispan.test.MultipleCacheManagersTest.addClusterEnabledCacheManager(MultipleCacheManagersTest.java:225)
      	at org.infinispan.query.blackbox.IndexingDuringStateTransferTest.test(IndexingDuringStateTransferTest.java:144)
      	at org.infinispan.query.blackbox.IndexingDuringStateTransferTest.testPutIgnoreReturnValue(IndexingDuringStateTransferTest.java:82)
      

      Attachments

        Issue Links

          Activity

            People

              dberinde@redhat.com Dan Berindei (Inactive)
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: