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/30 06:38:51 UTC
[lucene-solr] 01/02: @463 Cancel election after close.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 118f831b6e599c3e04941c8397382ea68cc6613f
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Thu Jul 30 01:15:03 2020 -0500
@463 Cancel election after close.
---
solr/core/src/java/org/apache/solr/cloud/Overseer.java | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index 075e280..2661b37 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -835,7 +835,7 @@ public class Overseer implements SolrCloseable {
this.closeAndDone = true;
}
- public void close() {
+ public synchronized void close() {
if (this.id != null) {
log.info("Overseer (id={}) closing", id);
}
@@ -847,7 +847,15 @@ public class Overseer implements SolrCloseable {
});
closer.addCollect("OverseerClose");
}
-
+ if (zkController.getZkClient().isConnected()) {
+ try {
+ context.cancelElection();
+ } catch (InterruptedException e) {
+ ParWork.propegateInterrupt(e);
+ } catch (KeeperException e) {
+ log.error("Exception canceling election for overseer");
+ }
+ }
assert ObjectReleaseTracker.release(this);
}
@@ -857,7 +865,7 @@ public class Overseer implements SolrCloseable {
return closed || zkController.getCoreContainer().isShutDown();
}
- void doClose() {
+ synchronized void doClose() {
if (log.isDebugEnabled()) {
log.debug("doClose() - start");
}