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