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 2015/10/06 16:26:09 UTC

svn commit: r1707062 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/cloud/ElectionContext.java

Author: markrmiller
Date: Tue Oct  6 14:26:09 2015
New Revision: 1707062

URL: http://svn.apache.org/viewvc?rev=1707062&view=rev
Log:
SOLR-8072: Rebalance leaders feature does not set CloudDescriptor#isLeader to false when bumping leaders.

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1707062&r1=1707061&r2=1707062&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Tue Oct  6 14:26:09 2015
@@ -233,6 +233,9 @@ Bug Fixes
 * SOLR-8075: Leader Initiated Recovery should not stop a leader that participated in an election with all
   of it's replicas from becoming a valid leader. (Mark Miller)
 
+* SOLR-8072: Rebalance leaders feature does not set CloudDescriptor#isLeader to false when bumping leaders.
+  (Mark Miller)
+
 Optimizations
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java?rev=1707062&r1=1707061&r2=1707062&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java Tue Oct  6 14:26:09 2015
@@ -256,6 +256,18 @@ final class ShardLeaderElectionContext e
   }
   
   @Override
+  public void cancelElection() throws InterruptedException, KeeperException {
+    String coreName = leaderProps.getStr(ZkStateReader.CORE_NAME_PROP);
+    try (SolrCore core = cc.getCore(coreName)) {
+      if (core != null) {
+        core.getCoreDescriptor().getCloudDescriptor().setLeader(false);
+      }
+    }
+    
+    super.cancelElection();
+  }
+  
+  @Override
   public ElectionContext copy() {
     return new ShardLeaderElectionContext(leaderElector, shardId, collection, id, leaderProps, zkController, cc);
   }