diff options
-rw-r--r-- | searchcore/src/vespa/searchcore/fdispatch/search/fnet_search.cpp | 7 | ||||
-rw-r--r-- | searchlib/src/tests/common/packets/packets_test.cpp | 4 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/common/packets.cpp | 4 |
3 files changed, 10 insertions, 5 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); } diff --git a/searchlib/src/tests/common/packets/packets_test.cpp b/searchlib/src/tests/common/packets/packets_test.cpp index ad4cf02f4e8..999e370c67f 100644 --- a/searchlib/src/tests/common/packets/packets_test.cpp +++ b/searchlib/src/tests/common/packets/packets_test.cpp @@ -352,8 +352,8 @@ TEST("testQueryResultX") { EXPECT_EQUAL(2u, ptr->_totNumDocs); EXPECT_EQUAL((search::HitRank)3, ptr->_maxRank); EXPECT_EQUAL(4u, ptr->getDistributionKey()); - EXPECT_EQUAL(ptr->_features & QRF_COVERAGE_NODES ? 12 : 0u, ptr->getNodesQueried()); - EXPECT_EQUAL(ptr->_features & QRF_COVERAGE_NODES ? 11 : 0u, ptr->getNodesReplied()); + EXPECT_EQUAL(ptr->_features & QRF_COVERAGE_NODES ? 12 : 1u, ptr->getNodesQueried()); + EXPECT_EQUAL(ptr->_features & QRF_COVERAGE_NODES ? 11 : 1u, ptr->getNodesReplied()); EXPECT_EQUAL(6u, ptr->_coverageDocs); EXPECT_EQUAL(7u, ptr->_activeDocs); EXPECT_EQUAL(8u, ptr->_soonActiveDocs); diff --git a/searchlib/src/vespa/searchlib/common/packets.cpp b/searchlib/src/vespa/searchlib/common/packets.cpp index 4bb11acaabb..7f512544a82 100644 --- a/searchlib/src/vespa/searchlib/common/packets.cpp +++ b/searchlib/src/vespa/searchlib/common/packets.cpp @@ -906,8 +906,8 @@ FS4Packet_QUERYRESULTX::AllocateHits(uint32_t cnt) FS4Packet_QUERYRESULTX::FS4Packet_QUERYRESULTX() : FS4Packet(), _distributionKey(0), - _nodesQueried(0), - _nodesReplied(0), + _nodesQueried(1), + _nodesReplied(1), _features(QRF_COVERAGE | QRF_EXTENDED_COVERAGE), _offset(0), _numDocs(0), |