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 2017/02/22 17:23:15 UTC

[1/2] lucene-solr:branch_6x: SOLR-9846: Overseer is not always closed after being started.

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x 5fe5094c7 -> 20cac5817


SOLR-9846: Overseer is not always closed after being started.

# Conflicts:
#	solr/CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4de034a2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4de034a2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4de034a2

Branch: refs/heads/branch_6x
Commit: 4de034a2931ed923de676e9cbefb21e4ca366601
Parents: 5fe5094
Author: markrmiller <ma...@apache.org>
Authored: Fri Feb 17 11:29:19 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Wed Feb 22 12:21:03 2017 -0500

----------------------------------------------------------------------
 solr/CHANGES.txt                                            | 2 ++
 .../src/java/org/apache/solr/cloud/ElectionContext.java     | 6 ++++++
 solr/core/src/java/org/apache/solr/cloud/LeaderElector.java | 1 +
 solr/core/src/java/org/apache/solr/cloud/ZkController.java  | 9 ++++-----
 4 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4de034a2/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 9aaa28d..76777a6 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -132,6 +132,8 @@ Bug Fixes
 
 * SOLR-10170: ClassCastException in RecoveryStrategy. (Mark Miller)
 
+* SOLR-9846: Overseer is not always closed after being started. (Mark Miller)
+
 Optimizations
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4de034a2/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
index b3cd585..3db6950 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
@@ -484,6 +484,7 @@ final class ShardLeaderElectionContext extends ShardLeaderElectionContextBase {
   public void checkLIR(String coreName, boolean allReplicasInLine)
       throws InterruptedException, KeeperException, IOException {
     if (allReplicasInLine) {
+      log.info("Found all replicas participating in election, clear LIR");
       // SOLR-8075: A bug may allow the proper leader to get marked as LIR DOWN and
       // if we are marked as DOWN but were able to become the leader, we remove
       // the DOWN entry here so that we don't fail publishing ACTIVE due to being in LIR.
@@ -752,6 +753,11 @@ final class OverseerElectionContext extends ElectionContext {
     super.cancelElection();
     overseer.close();
   }
+  
+  @Override
+  public void close() {
+    overseer.close();
+  }
 
   @Override
   public ElectionContext copy() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4de034a2/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java b/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
index aa8943d..46f3c88 100644
--- a/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
+++ b/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
@@ -388,6 +388,7 @@ public  class LeaderElector {
     }
     if (watcher != null) watcher.cancel();
     this.context.cancelElection();
+    this.context.close();
     this.context = ctx;
     joinElection(ctx, true, joinAtHead);
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4de034a2/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
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 89a88e3..c083736 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -75,6 +75,7 @@ import org.apache.solr.common.cloud.ZooKeeperException;
 import org.apache.solr.common.params.CollectionParams;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.util.IOUtils;
 import org.apache.solr.common.util.ObjectReleaseTracker;
 import org.apache.solr.common.util.StrUtils;
 import org.apache.solr.common.util.URLUtil;
@@ -324,6 +325,7 @@ public class ZkController {
                 ElectionContext prevContext = overseerElector.getContext();
                 if (prevContext != null) {
                   prevContext.cancelElection();
+                  prevContext.close();
                 }
 
                 overseerElector.setup(context);
@@ -534,11 +536,8 @@ public class ZkController {
       }
     } finally {
       try {
-        try {
-          overseer.close();
-        } catch (Exception e) {
-          log.error("Error closing overseer", e);
-        }
+        IOUtils.closeQuietly(overseerElector.getContext());
+        IOUtils.closeQuietly(overseer);
       } finally {
         try {
           try {


[2/2] lucene-solr:branch_6x: SOLR-9846: Don't run Overseer threads if CoreContainer is shutdown.

Posted by ma...@apache.org.
SOLR-9846: Don't run Overseer threads if CoreContainer is shutdown.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/20cac581
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/20cac581
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/20cac581

Branch: refs/heads/branch_6x
Commit: 20cac581713ee26af029aaa93e708eade65a2bd1
Parents: 4de034a
Author: markrmiller <ma...@apache.org>
Authored: Sun Feb 19 14:18:04 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Wed Feb 22 12:21:15 2017 -0500

----------------------------------------------------------------------
 solr/core/src/java/org/apache/solr/cloud/ElectionContext.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/20cac581/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
index 3db6950..6c073b9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
@@ -744,8 +744,9 @@ final class OverseerElectionContext extends ElectionContext {
         log.warn("Wait interrupted ", e);
       }
     }
-    
-    overseer.start(id);
+    if (overseer.getZkController() == null || overseer.getZkController().getCoreContainer() == null || !overseer.getZkController().getCoreContainer().isShutDown()) {
+      overseer.start(id);
+    }
   }
   
   @Override