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");
     }