Poor decision logic in the code means that while phase 1 of distributed faceting is processed with the optimum code path, phase 2 might not be (if there is no cached counter available).
The logic of phase 2 should be
If a cached & filled counter is available, use that for fine counting
If no previously filles counters are available, check the result set size. If the size is above a given threshold, switch to vanilla Solr counting. If it is below, continue with full counting.
Poor decision logic in the code means that while phase 1 of distributed faceting is processed with the optimum code path, phase 2 might not be (if there is no cached counter available).
The logic of phase 2 should be