summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-02-09 11:10:19 +0100
committerHenning Baldersheim <balder@oath.com>2018-02-09 12:07:21 +0100
commit2c3eda86a407d441561dcec1c929d2a29bea697a (patch)
tree677440b7d1e2e333b832132b8890c97a4a8f12fc /searchcore
parent4f55d543f0569d992a21f69b4b3c1309790de74d (diff)
Compute nodes queried/replied more correctly during merge to get it more correct in MLD cases.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp b/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
index 98642c6edf6..4c47e381470 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
+++ b/searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp
@@ -869,6 +869,8 @@ FastS_FNET_Search::CheckCoverage()
uint64_t activeDocs = 0;
uint64_t soonActiveDocs = 0;
uint32_t degradedReason = 0;
+ uint16_t nodesQueried = 0;
+ uint16_t nodesReplied = 0;
size_t cntNone(0);
for (const FastS_FNET_SearchNode & node : _nodes) {
@@ -877,14 +879,17 @@ FastS_FNET_Search::CheckCoverage()
activeDocs += node._qresult->_activeDocs;
soonActiveDocs += node._qresult->_soonActiveDocs;
degradedReason |= node._qresult->_coverageDegradeReason;
+ nodesQueried += node._qresult->getNodesQueried();
+ nodesReplied += node._qresult->getNodesReplied();
} else {
+ nodesQueried++;
cntNone++;
}
}
if ((cntNone > 0) && (cntNone != _nodes.size())) {
activeDocs += cntNone * activeDocs/(_nodes.size() - cntNone);
}
- _util.SetCoverage(covDocs, activeDocs, soonActiveDocs, degradedReason, _nodes.size(), _nodes.size() - cntNone);
+ _util.SetCoverage(covDocs, activeDocs, soonActiveDocs, degradedReason, nodesQueried, nodesReplied);
}