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 2020/11/11 00:48:16 UTC

[lucene-solr] branch reference_impl_dev updated (8d62af4 -> 763f3ea)

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a change to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git.


    from 8d62af4  @1151 The leader needs to be ACTIVE.
     new ea27aeb  @1152 Try this way.
     new ecb4bcf  @1153 Fix up setting leader state.
     new 763f3ea  @1154 Only set active leader in Slice.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java     | 7 +++++--
 solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java        | 3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)


[lucene-solr] 03/03: @1154 Only set active leader in Slice.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 763f3eabdfdf7168450c33b4ba558c0e8f3db8de
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Nov 10 18:42:32 2020 -0600

    @1154 Only set active leader in Slice.
---
 solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java b/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
index 1d171d8..6edc0b2 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
@@ -209,7 +209,8 @@ public class Slice extends ZkNodeProps implements Iterable<Replica> {
 
   private Replica findLeader() {
     for (Replica replica : replicas.values()) {
-      if (replica.getStr(LEADER) != null) {
+      String leaderStr = replica.getStr(LEADER);
+      if (leaderStr != null && leaderStr.equals("true") && replica.getState() == Replica.State.ACTIVE) {
         return replica;
       }
     }


[lucene-solr] 02/03: @1153 Fix up setting leader state.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit ecb4bcf937df813200a140aed8e7bd5e19fa6586
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Nov 10 18:32:13 2020 -0600

    @1153 Fix up setting leader state.
---
 .../java/org/apache/solr/cloud/overseer/ZkStateWriter.java    |  7 +++++--
 .../src/java/org/apache/solr/common/cloud/ZkStateReader.java  | 11 ++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index 28c82ae..eeaecaf 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -142,6 +142,7 @@ public class ZkStateWriter {
                 currentSlice.setState(slice.getState());
                 currentSlice.setLeader(slice.getLeader());
                 currentSlice.getLeader().getProperties().put("leader", "true");
+                currentSlice.getLeader().getProperties().put("state", Replica.State.ACTIVE.toString());
                 changed.set(true);
               }
             }
@@ -151,8 +152,9 @@ public class ZkStateWriter {
                 if (log.isDebugEnabled()) log.debug("set replica state to {} isLeader={}", replica.getState(), replica.getProperty("leader"));
                 currentReplica.setState(replica.getState());
                 String leader = replica.getProperty("leader");
-                if (leader != null) {
-                  currentReplica.getProperties().put("leader", leader);
+                if (leader != null || slice.getLeader() != null && replica.getName().equals(slice.getLeader().getName())) {
+                  currentReplica.getProperties().put("leader", "true");
+                  currentReplica.getProperties().put("state", Replica.State.ACTIVE.toString());
                 }
                 // nocommit
                 //              else if (leader == null) {
@@ -161,6 +163,7 @@ public class ZkStateWriter {
 
                 if (slice.getLeader() != null && slice.getLeader().getName().equals(replica.getName())) {
                   currentReplica.getProperties().put("leader", "true");
+                  currentReplica.getProperties().put("state", Replica.State.ACTIVE.toString());
                 }
 
                 Replica thereplica = cs.getCollectionOrNull(newCollection.getName()).getReplica(replica.getName());
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index a00ce0a..2faa060 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -919,14 +919,11 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
           return false;
         Slice slice = c.getSlice(shard);
         if (slice == null) return false;
-        for (Replica replica : slice.getReplicas()) {
-          String leader = replica.getProperty("leader");
-          if (leader != null && leader.equals("true") && replica.getState() == Replica.State.ACTIVE) {
-            returnLeader.set(replica);
-            return true;
-          }
+        Replica leader = slice.getLeader();
+        if (leader != null && leader.getState() == Replica.State.ACTIVE) {
+          returnLeader.set(leader);
+          return true;
         }
-
         return false;
       });
     } catch (TimeoutException e) {


[lucene-solr] 01/03: @1152 Try this way.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit ea27aebeb0882515b01b07a04b8548dd363880f4
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Nov 10 18:14:08 2020 -0600

    @1152 Try this way.
---
 .../src/java/org/apache/solr/common/cloud/ZkStateReader.java  | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index 2faa060..a00ce0a 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -919,11 +919,14 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
           return false;
         Slice slice = c.getSlice(shard);
         if (slice == null) return false;
-        Replica leader = slice.getLeader();
-        if (leader != null && leader.getState() == Replica.State.ACTIVE) {
-          returnLeader.set(leader);
-          return true;
+        for (Replica replica : slice.getReplicas()) {
+          String leader = replica.getProperty("leader");
+          if (leader != null && leader.equals("true") && replica.getState() == Replica.State.ACTIVE) {
+            returnLeader.set(replica);
+            return true;
+          }
         }
+
         return false;
       });
     } catch (TimeoutException e) {