SOLR-8375: ReplicaAssigner rejects valid nodes

This commit is contained in:
Noble Paul 2016-03-01 10:49:47 +05:30
parent 79b62ee731
commit e44eebf39d
2 changed files with 5 additions and 6 deletions

View File

@ -226,6 +226,8 @@ Bug Fixes
* SOLR-8748: OverseerTaskProcessor limits number of concurrent tasks to just 10 even though the thread pool
size is 100. The limit has now been increased to 100. (Scott Blum, shalin)
* SOLR-8375: ReplicaAssigner rejects valid nodes (Kelvin Tan, noble)
Optimizations
----------------------
* SOLR-7876: Speed up queries and operations that use many terms when timeAllowed has not been

View File

@ -44,11 +44,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static java.util.Collections.singletonList;
import static org.apache.solr.cloud.rule.Rule.MatchStatus.NODE_CAN_BE_ASSIGNED;
import static org.apache.solr.cloud.rule.Rule.Phase.ASSIGN;
import static org.apache.solr.cloud.rule.Rule.Phase.FUZZY_ASSIGN;
import static org.apache.solr.cloud.rule.Rule.Phase.FUZZY_VERIFY;
import static org.apache.solr.cloud.rule.Rule.Phase.VERIFY;
import static org.apache.solr.cloud.rule.Rule.MatchStatus.*;
import static org.apache.solr.cloud.rule.Rule.Phase.*;
import static org.apache.solr.common.util.StrUtils.formatString;
import static org.apache.solr.common.util.Utils.getDeepCopy;
@ -280,7 +277,7 @@ public class ReplicaAssigner {
Rule rule = rules.get(rulePermutation[i]);
Rule.MatchStatus matchStatus = rule.tryAssignNodeToShard(e.getValue(),
copyOfCurrentState, nodeVsTagsCopy, e.getKey().shard, fuzzyPhase ? FUZZY_VERIFY : VERIFY);
if (matchStatus != NODE_CAN_BE_ASSIGNED) return null;
if (matchStatus != NODE_CAN_BE_ASSIGNED && matchStatus != NOT_APPLICABLE) return null;
}
}
return result;