In FacetComponent.doDistribRanges, there's this code:
for (Map.Entry<String,Integer> existPair : existFieldValues) {
final String key = existPair.getKey();
// can be null if inconsistencies in shards responses
Integer newValue = shardFieldValues.get(key);
if (null != newValue) {
Integer oldValue = existPair.getValue();
existPair.setValue(oldValue + newValue);
}
The problem here is that it assumes that the first list in has all the
counts that ever will be reported from any shard.
See SOLR-6154. If the mincount is 1, and it happens that the first set
of counts in doesn't have a count for value X, then any shard that
_does_ report a count for X will just have that count ignored.
I'm fixing this up now, just checking if I'm out in the weeds or not.
Admittedly, in any "real" installation it's probably unlikely that a
mincount of 1 will happen, but still..
There's also special logic when distributing the queries that adds a
mincount of 1 to the shard-requests if mincount=1 is specified. I
suspect the interaction here is the problem.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]