From 655e9ecf7cbd03c301620abfba04b172f96946c2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Fri, 14 Dec 2018 11:07:10 -0500 Subject: [PATCH] Fix active replica count reporting in SimClusterStateProvider One codepath assumed all replicas were active, instead of checking the state of each individually. --- .../cloud/autoscaling/sim/SimClusterStateProvider.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 6197c41ac0f..c411b2129d1 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++;