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/09/06 16:39:27 UTC

[lucene-solr] branch reference_impl updated: @761 Rejoin Overseer election after close.

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 5178381  @761 Rejoin Overseer election after close.
5178381 is described below

commit 5178381ee9d582404e8317de056b37a8269bc3f4
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Sep 6 11:35:34 2020 -0500

    @761 Rejoin Overseer election after close.
---
 solr/core/src/java/org/apache/solr/cloud/Overseer.java     | 3 +++
 solr/core/src/java/org/apache/solr/cloud/ZkController.java | 3 +++
 2 files changed, 6 insertions(+)

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 268544c..3cc4612 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -872,6 +872,9 @@ public class Overseer implements SolrCloseable {
     }
     if (context != null) {
       context.close(fromCSUpdateThread);
+      if (!closeAndDone) {
+        zkController.rejoinOverseerElection(context.electionPath, false);
+      }
     }
     //doClose(fromCSUpdateThread);
   }
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index 8303f60..0f68a39 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -2407,6 +2407,9 @@ public class ZkController implements Closeable {
   }
 
   public void rejoinOverseerElection(String electionNode, boolean joinAtHead) {
+    if (overseerElector == null) {
+      return;
+    }
     try {
       if (electionNode != null) {
         // Check whether we came to this node by mistake