summaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-09-09 13:03:08 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-09-09 13:03:08 +0000
commite0dcdda7286506373b2f60e657afb931ca5edf8b (patch)
treef11d28e54b1b8b8eded744dd411ea8808e4ceecf /searchlib/src
parentcbba6fbd513bdbc9d1696f3b3c17f28abd2b4367 (diff)
Propagate target-active-docs in monitor reply.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/protobuf/search_protocol.proto3
-rw-r--r--searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/engine/monitorreply.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/engine/monitorreply.h1
-rw-r--r--searchlib/src/vespa/searchlib/engine/proto_converter.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/engine/searchreply.h24
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: