Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-16408

TestHdfsUpdateLog, TestRecoveryHdfs, and TestRandomCollapseQParserPlugin call SolrTestCaseJ4.teardownTestCases instead of deleteCore

    XMLWordPrintableJSON

Details

    Description

      This surfaced after SOLR-16187 which should tell us why some builds were just timing out in the past. Now we have a stacktrace of where the pool got stuck.

      Build: https://jenkins.thetaphi.de/job/Solr-main-Linux/7070/
      Java: 64bit/jdk-11.0.15 -XX:+UseCompressedOops -XX:+UseSerialGC
      
      1 tests failed.
      FAILED:  org.apache.solr.hdfs.update.TestHdfsUpdateLog.classMethod
      
      Error Message:
      java.lang.RuntimeException: Timeout waiting for pool org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor@12bfe088[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0] to shutdown.
      
      Stack Trace:
      java.lang.RuntimeException: Timeout waiting for pool org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor@12bfe088[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0] to shutdown.
              at __randomizedtesting.SeedInfo.seed([C45530E56E50859A]:0)
              at org.apache.solr.common.util.ExecutorUtil.awaitTermination(ExecutorUtil.java:112)
              at org.apache.solr.common.util.ExecutorUtil.awaitTermination(ExecutorUtil.java:99)
              at org.apache.solr.common.util.ExecutorUtil.shutdownAndAwaitTermination(ExecutorUtil.java:89)
              at org.apache.solr.core.SolrCores.close(SolrCores.java:149)
              at org.apache.solr.core.CoreContainer.shutdown(CoreContainer.java:1188)
              at org.apache.solr.util.TestHarness.close(TestHarness.java:397)
              at org.apache.solr.SolrTestCaseJ4.deleteCore(SolrTestCaseJ4.java:942)
              at org.apache.solr.hdfs.update.TestHdfsUpdateLog.afterClass(TestHdfsUpdateLog.java:75)
      

      TestHdfsUpdateLog, TestRecoveryHdfs, and TestRandomCollapseQParserPlugin were trying to call deleteCore which doesn't shutdown the test case correctly sometimes. Instead call SolrTestCaseJ4.teardownTestCases which does the cleanup. It is ok to call SolrTestCaseJ4.teardownTestCases twice.

      Attachments

        Issue Links

          Activity

            People

              krisden Kevin Risden
              krisden Kevin Risden
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h