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:17 UTC

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

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) {