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]

Reply via email to