janhoy opened a new pull request, #3965:
URL: https://github.com/apache/solr/pull/3965
Analysis by Claude:
### Root Cause
The test deliberately corrupts a core using TestInjection.leaderTragedy,
which triggers a "tragic event" in the IndexWriter. When the test class
finishes, the `@AfterClass` shutdownCluster() method tries to shut down all
Jetty instances, but the corrupted core causes the shutdown to hang
indefinitely because:
1. MiniSolrCloudCluster.java:676 called executorCloser.invokeAll(shutdowns)
without a timeout
2. If a JettySolrRunner with a corrupted core hangs during shutdown (waiting
for threads, resources, etc.), the entire test would hang forever
3. This manifested as "Error shutting down MiniSolrCloudCluster" failures
### The Fix
I've made MiniSolrCloudCluster.shutdown() more robust by:
1. Adding a 60-second timeout to the invokeAll() call - this prevents
indefinite hangs while still allowing enough time for normal parallel shutdown
2. Handling InterruptedException - ensures proper cleanup if shutdown is
interrupted
3. Handling CancellationException - gracefully handles futures that are
cancelled due to timeout, logging warnings instead of failing the test
https://issues.apache.org/jira/browse/SOLR-18025
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]