You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ge...@apache.org on 2018/12/14 17:22:22 UTC

[2/3] lucene-solr:master: Fix active replica count reporting in SimClusterStateProvider

Fix active replica count reporting in SimClusterStateProvider

One codepath assumed all replicas were active, instead of checking the
state of each individually.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/655e9ecf
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/655e9ecf
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/655e9ecf

Branch: refs/heads/master
Commit: 655e9ecf7cbd03c301620abfba04b172f96946c2
Parents: dd910d1
Author: Jason Gerlowski <ge...@apache.org>
Authored: Fri Dec 14 11:07:10 2018 -0500
Committer: Jason Gerlowski <ge...@apache.org>
Committed: Fri Dec 14 12:21:47 2018 -0500

----------------------------------------------------------------------
 .../solr/cloud/autoscaling/sim/SimClusterStateProvider.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/655e9ecf/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
index 6197c41..c411b21 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
@@ -1998,7 +1998,12 @@ public class SimClusterStateProvider implements ClusterStateProvider {
           if (buffered != null) {
             bufferedDocs += buffered.get();
           }
-          activeReplicas += s.getReplicas().size();
+
+          for (Replica r : s.getReplicas()) {
+            if (r.getState() == Replica.State.ACTIVE) {
+              activeReplicas++;
+            }
+          }
           Replica leader = s.getLeader();
           if (leader == null) {
             noLeader++;