You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/07/15 17:18:36 UTC
[lucene-solr] branch reference_impl updated: #177 - Fix
solrzkclient higherlevelisclosed.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/reference_impl by this push:
new e537b80 #177 - Fix solrzkclient higherlevelisclosed.
e537b80 is described below
commit e537b80414d8753a0b58f30d1fb814d4a19703f8
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Wed Jul 15 12:00:09 2020 -0500
#177 - Fix solrzkclient higherlevelisclosed.
---
solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java | 7 +++++++
solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
index 2b95e28..a865688 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
@@ -66,6 +66,7 @@ import org.apache.solr.api.V2HttpCall;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
+import org.apache.solr.common.cloud.ConnectionManager;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.IOUtils;
@@ -288,6 +289,12 @@ public class SolrDispatchFilter extends BaseSolrFilter {
NodeConfig nodeConfig = loadNodeConfig(zkClient, solrHome, extraProperties);
this.cores = new CoreContainer(zkClient, nodeConfig, new CorePropertiesLocator(nodeConfig.getCoreRootDirectory()), true);
+ if (zkClient != null) zkClient.setHigherLevelIsClosed(new ConnectionManager.IsClosed() {
+ @Override
+ public boolean isClosed() {
+ return cores.isShutDown();
+ }
+ });
cores.load();
return cores;
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
index 6cfeeb7..5ec8c23 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
@@ -1024,6 +1024,10 @@ public class SolrZkClient implements Closeable {
}
}
+ public void setHigherLevelIsClosed(IsClosed isClosed) {
+ this.higherLevelIsClosed = isClosed;
+ }
+
/**
* Update all ACLs for a zk tree based on our configured {@link ZkACLProvider}.
* @param root the root node to recursively update