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();