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/20 23:14:03 UTC
[lucene-solr] branch reference_impl updated: @258 - More correct
zkclient life cycle.
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 cb96e94 @258 - More correct zkclient life cycle.
cb96e94 is described below
commit cb96e941dc5f98a54a0ef2f8c2804b9f96f96924
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Jul 20 18:13:50 2020 -0500
@258 - More correct zkclient life cycle.
---
solr/core/src/java/org/apache/solr/core/ZkContainer.java | 2 +-
.../java/org/apache/solr/servlet/SolrDispatchFilter.java | 16 +++++++---------
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/core/ZkContainer.java b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
index 54cd6a7..610162b 100644
--- a/solr/core/src/java/org/apache/solr/core/ZkContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
@@ -244,7 +244,7 @@ public class ZkContainer implements Closeable {
public void close() {
try (ParWork closer = new ParWork(this, true)) {
- closer.add("zkContainer", zkController, zkClient, zkServer);
+ closer.add("zkContainer", zkController, zkServer);
}
}
}
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 fdcee4c..7d3b33f 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
@@ -118,6 +118,7 @@ public class SolrDispatchFilter extends BaseSolrFilter {
private SolrMetricManager metricManager;
private String registryName;
private volatile boolean closeOnDestroy = true;
+ private volatile SolrZkClient zkClient;
/**
* Enum to define action that needs to be processed.
@@ -281,7 +282,6 @@ public class SolrDispatchFilter extends BaseSolrFilter {
*/
protected CoreContainer createCoreContainer(Path solrHome, Properties extraProperties) {
String zkHost = System.getProperty("zkHost");
- SolrZkClient zkClient = null;
if (!StringUtils.isEmpty(zkHost)) {
int startUpZkTimeOut = Integer.getInteger("waitForZk", 10); // nocommit - zk settings
zkClient = new SolrZkClient(zkHost, (int) TimeUnit.SECONDS.toMillis(startUpZkTimeOut));
@@ -339,9 +339,7 @@ public class SolrDispatchFilter extends BaseSolrFilter {
@Override
public void destroy() {
- if (closeOnDestroy) {
- close();
- }
+ close();
}
public void close() {
@@ -362,7 +360,11 @@ public class SolrDispatchFilter extends BaseSolrFilter {
} finally {
if (cc != null) {
httpClient = null;
- cc.shutdown();
+ try {
+ ParWork.close(cc);
+ } finally {
+ ParWork.close(zkClient);
+ }
}
GlobalTracer.get().close();
}
@@ -703,8 +705,4 @@ public class SolrDispatchFilter extends BaseSolrFilter {
return response;
}
}
-
- public void closeOnDestroy(boolean closeOnDestroy) {
- this.closeOnDestroy = closeOnDestroy;
- }
}