From 3b4a1c2c5f94099f4b9599b69567ec5760d150ae Mon Sep 17 00:00:00 2001 From: Mark Robert Miller Date: Sun, 29 Dec 2013 18:58:18 +0000 Subject: [PATCH] SOLR-5583: ConcurrentUpdateSolrServer#blockUntilFinished may wait forever if the executor service is shutdown. git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1554053 13f79535-47bb-0310-9956-ffa450edef68 --- solr/CHANGES.txt | 3 +++ .../solr/client/solrj/impl/ConcurrentUpdateSolrServer.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 34552f64766..be8818be8de 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -315,6 +315,9 @@ Bug Fixes HttpClients and ensure all http connection managers get shutdown. (Mark Miller) +* SOLR-5583: ConcurrentUpdateSolrServer#blockUntilFinished may wait forever if + the executor service is shutdown. (Mark Miller) + Optimizations ---------------------- diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java index c322e987386..91332488056 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java @@ -384,7 +384,7 @@ public class ConcurrentUpdateSolrServer extends SolrServer { synchronized (runners) { runner = runners.peek(); } - if (runner == null) + if (runner == null || scheduler.isTerminated()) break; runner.runnerLock.lock(); runner.runnerLock.unlock();