aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2023-11-07 15:11:56 +0000
committerGeir Storli <geirst@yahooinc.com>2023-11-07 15:11:56 +0000
commit57b17fdce27b79ef8b3e48fc45171042a94a1924 (patch)
treee0e383d7df1edbd0a6af74d4bdf226e148fff654 /searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
parent08dacb85e24dbd059122c082c48607ab30d46d42 (diff)
Also tune or turn off background jobs when content node is in maintenance.
Previously the following has been adjusted when the node is retired: 1) Lid space compaction - turned off. 2) Flush engine strategy - tuned to reduce disk and CPU usage. 3) Attribute vector compaction - tuned to reduce memory allocations and CPU usage. In a node retirement scenario documents are being removed from the node, and eventually the node is deleted. Without the adjustments above a lot of resources are spent "fixing" the results of removing documents, and the process just takes a lot longer. A similar set of challenges can occur when a node is set in maintenance, especially if the node transitions from retired to maintenance. E.g. this happens when the Vespa version is upgraded in Vespa Cloud. With this change the resource usage of background jobs are kept in check for both a retired node and a node in maintenance.
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
index 43bdc764a2f..a2d68ad8920 100644
--- a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
@@ -272,7 +272,7 @@ FastAccessDocSubDB::applyConfig(const DocumentDBConfig &newConfigSnapshot, const
reconfigureAttributeMetrics(*newMgr, *oldMgr);
}
_iFeedView.set(_fastAccessFeedView.get());
- if (isNodeRetired()) {
+ if (is_node_retired_or_maintenance()) {
// TODO Should probably ahve a similar OnDone callback to applyConfig too.
vespalib::Gate gate;
reconfigureAttributesConsideringNodeState(std::make_shared<vespalib::GateCallback>(gate));