diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-09 13:03:08 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-09 13:03:08 +0000 |
commit | e0dcdda7286506373b2f60e657afb931ca5edf8b (patch) | |
tree | f11d28e54b1b8b8eded744dd411ea8808e4ceecf /searchlib | |
parent | cbba6fbd513bdbc9d1696f3b3c17f28abd2b4367 (diff) |
Propagate target-active-docs in monitor reply.
Diffstat (limited to 'searchlib')
6 files changed, 16 insertions, 20 deletions
diff --git a/searchlib/src/protobuf/search_protocol.proto b/searchlib/src/protobuf/search_protocol.proto index 3cf2f01a7a8..1be68abad04 100644 --- a/searchlib/src/protobuf/search_protocol.proto +++ b/searchlib/src/protobuf/search_protocol.proto @@ -46,7 +46,7 @@ message SearchReply { int64 total_hit_count = 1; int64 coverage_docs = 2; int64 active_docs = 3; - int64 soon_active_docs = 4; + int64 target_active_docs = 4; bool degraded_by_match_phase = 5; bool degraded_by_soft_timeout = 6; repeated Hit hits = 7; @@ -104,4 +104,5 @@ message MonitorReply { int64 active_docs = 2; int32 distribution_key = 3; bool is_blocking_writes = 4; + int64 target_active_docs = 5; } diff --git a/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp b/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp index 3091d167399..693ef74086a 100644 --- a/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp +++ b/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp @@ -247,9 +247,9 @@ TEST_F(SearchReplyTest, require_that_active_docs_is_converted) { } TEST_F(SearchReplyTest, require_that_soon_active_docs_is_converted) { - reply.coverage.setSoonActive(250000); + reply.coverage.setTargetActive(250000); convert(); - EXPECT_EQ(proto.soon_active_docs(), 250000); + EXPECT_EQ(proto.target_active_docs(), 250000); } TEST_F(SearchReplyTest, require_that_degraded_by_match_phase_is_converted) { diff --git a/searchlib/src/vespa/searchlib/engine/monitorreply.cpp b/searchlib/src/vespa/searchlib/engine/monitorreply.cpp index 44a00638661..139c377a626 100644 --- a/searchlib/src/vespa/searchlib/engine/monitorreply.cpp +++ b/searchlib/src/vespa/searchlib/engine/monitorreply.cpp @@ -6,6 +6,7 @@ namespace search::engine { MonitorReply::MonitorReply() : activeDocs(0), + targetActiveDocs(0), distribution_key(-1), timestamp(), is_blocking_writes(false) diff --git a/searchlib/src/vespa/searchlib/engine/monitorreply.h b/searchlib/src/vespa/searchlib/engine/monitorreply.h index 52948e9f963..7e0af9be63a 100644 --- a/searchlib/src/vespa/searchlib/engine/monitorreply.h +++ b/searchlib/src/vespa/searchlib/engine/monitorreply.h @@ -9,6 +9,7 @@ namespace search::engine { struct MonitorReply { uint64_t activeDocs; + uint64_t targetActiveDocs; int32_t distribution_key; uint32_t timestamp; bool is_blocking_writes; diff --git a/searchlib/src/vespa/searchlib/engine/proto_converter.cpp b/searchlib/src/vespa/searchlib/engine/proto_converter.cpp index 8d06dcc10e6..842ced502c6 100644 --- a/searchlib/src/vespa/searchlib/engine/proto_converter.cpp +++ b/searchlib/src/vespa/searchlib/engine/proto_converter.cpp @@ -101,7 +101,7 @@ ProtoConverter::search_reply_to_proto(const SearchReply &reply, ProtoSearchReply proto.set_total_hit_count(reply.totalHitCount); proto.set_coverage_docs(reply.coverage.getCovered()); proto.set_active_docs(reply.coverage.getActive()); - proto.set_soon_active_docs(reply.coverage.getSoonActive()); + proto.set_target_active_docs(reply.coverage.getTargetActive()); proto.set_degraded_by_match_phase(reply.coverage.wasDegradedByMatchPhase()); proto.set_degraded_by_soft_timeout(reply.coverage.wasDegradedByTimeout()); bool has_sort_data = ! reply.sortIndex.empty(); @@ -228,6 +228,7 @@ ProtoConverter::monitor_reply_to_proto(const MonitorReply &reply, ProtoMonitorRe { proto.set_online(reply.timestamp != 0); proto.set_active_docs(reply.activeDocs); + proto.set_target_active_docs(reply.targetActiveDocs); proto.set_distribution_key(reply.distribution_key); proto.set_is_blocking_writes(reply.is_blocking_writes); } diff --git a/searchlib/src/vespa/searchlib/engine/searchreply.h b/searchlib/src/vespa/searchlib/engine/searchreply.h index 25418a698c2..fc64566acf1 100644 --- a/searchlib/src/vespa/searchlib/engine/searchreply.h +++ b/searchlib/src/vespa/searchlib/engine/searchreply.h @@ -28,38 +28,30 @@ public: class Coverage { public: Coverage() noexcept : Coverage(0) { } - Coverage(uint64_t active) noexcept : Coverage(active, active) { } + explicit Coverage(uint64_t active) noexcept : Coverage(active, active) { } Coverage(uint64_t active, uint64_t covered) noexcept - : _covered(covered), _active(active), _soonActive(active), - _degradeReason(0), _nodesQueried(1), _nodesReplied(1) + : _covered(covered), _active(active), _targetActive(active), + _degradeReason(0) { } uint64_t getCovered() const { return _covered; } uint64_t getActive() const { return _active; } - uint64_t getSoonActive() const { return _soonActive; } - uint32_t getDegradeReason() const { return _degradeReason; } - uint16_t getNodesQueried() const { return _nodesQueried; } - uint16_t getNodesReplied() const { return _nodesReplied; } + uint64_t getTargetActive() const { return _targetActive; } + bool wasDegradedByMatchPhase() const { return ((_degradeReason & MATCH_PHASE) != 0); } bool wasDegradedByTimeout() const { return ((_degradeReason & TIMEOUT) != 0); } Coverage & setCovered(uint64_t v) { _covered = v; return *this; } Coverage & setActive(uint64_t v) { _active = v; return *this; } - Coverage & setSoonActive(uint64_t v) { _soonActive = v; return *this; } - Coverage & setDegradeReason(uint32_t v) { _degradeReason = v; return *this; } - Coverage & setNodesQueried(uint16_t v) { _nodesQueried = v; return *this; } - Coverage & setNodesReplied(uint16_t v) { _nodesReplied = v; return *this; } + Coverage & setTargetActive(uint64_t v) { _targetActive = v; return *this; } Coverage & degradeMatchPhase() { _degradeReason |= MATCH_PHASE; return *this; } Coverage & degradeTimeout() { _degradeReason |= TIMEOUT; return *this; } - Coverage & degradeAdaptiveTimeout() { _degradeReason |= ADAPTIVE_TIMEOUT; return *this; } - enum DegradeReason {MATCH_PHASE=0x01, TIMEOUT=0x02, ADAPTIVE_TIMEOUT=0x04}; + enum DegradeReason {MATCH_PHASE=0x01, TIMEOUT=0x02}; private: uint64_t _covered; uint64_t _active; - uint64_t _soonActive; + uint64_t _targetActive; uint32_t _degradeReason; - uint16_t _nodesQueried; - uint16_t _nodesReplied; }; private: |