This is an automated email from the ASF dual-hosted git repository.

dsmiley pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 302be104c53ee4243d8b13ff9ea5e298568a4f32
Author: David Smiley <[email protected]>
AuthorDate: Tue Mar 17 20:17:42 2026 -0400

    JettySolrRunner: catch TimeoutException from Jetty 12 graceful shutdown 
(#4220)
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 .../src/java/org/apache/solr/embedded/JettySolrRunner.java         | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java 
b/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
index e4224e44e6c..04c948b99c2 100644
--- a/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
+++ b/solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java
@@ -49,6 +49,7 @@ import java.util.Properties;
 import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import org.apache.solr.client.solrj.SolrClient;
@@ -676,7 +677,11 @@ public class JettySolrRunner {
       QueuedThreadPool qtp = (QueuedThreadPool) server.getThreadPool();
       ReservedThreadExecutor rte = qtp.getBean(ReservedThreadExecutor.class);
 
-      server.stop();
+      try {
+        server.stop();
+      } catch (TimeoutException e) {
+        log.warn("Jetty server graceful stop timed out; proceeding with 
forceful cleanup", e);
+      }
 
       // stop timeout is 0, so we will interrupt right away
       while (!qtp.isStopped()) {

Reply via email to