You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/03/01 09:27:43 UTC
[35/50] [abbrv] lucene-solr:jira/solr-9858: SOLR-10196:
ElectionContext#runLeaderProcess can hit NPE on core close.
SOLR-10196: ElectionContext#runLeaderProcess can hit NPE on core close.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/04ba9968
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/04ba9968
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/04ba9968
Branch: refs/heads/jira/solr-9858
Commit: 04ba9968c0686a5fa1a9c5d89a7cd92839902f32
Parents: ed0f0f4
Author: markrmiller <ma...@apache.org>
Authored: Mon Feb 27 23:41:30 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Mon Feb 27 23:41:30 2017 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
.../core/src/java/org/apache/solr/cloud/ElectionContext.java | 8 ++++++--
.../src/test/org/apache/solr/cloud/CleanupOldIndexTest.java | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/04ba9968/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 0f1cac5..07f1c4e 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -186,6 +186,8 @@ Bug Fixes
* SOLR-10055: Linux installer now renames existing bin/solr.in.* as bin/solr.in.*.orig to make the installed config in
/etc/defaults be the one found by default when launching solr manually. (janhoy)
+* SOLR-10196: ElectionContext#runLeaderProcess can hit NPE on core close. (Mark Miller)
+
Optimizations
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/04ba9968/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 6c073b9..ff6fb30 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
@@ -423,8 +423,12 @@ final class ShardLeaderElectionContext extends ShardLeaderElectionContextBase {
super.runLeaderProcess(weAreReplacement, 0);
try (SolrCore core = cc.getCore(coreName)) {
- core.getCoreDescriptor().getCloudDescriptor().setLeader(true);
- publishActiveIfRegisteredAndNotActive(core);
+ if (core != null) {
+ core.getCoreDescriptor().getCloudDescriptor().setLeader(true);
+ publishActiveIfRegisteredAndNotActive(core);
+ } else {
+ return;
+ }
}
log.info("I am the new leader: " + ZkCoreNodeProps.getCoreUrl(leaderProps) + " " + shardId);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/04ba9968/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java b/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
index cc03a25..547de8d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
@@ -47,7 +47,7 @@ public class CleanupOldIndexTest extends SolrCloudTestCase {
}
@AfterClass
- public static void teardownTestCases() throws Exception {
+ public static void afterClass() throws Exception {
if (suiteFailureMarker.wasSuccessful()) {
zkClient().printLayoutToStdOut();