diff options
author | Geir Storli <geirst@yahooinc.com> | 2023-11-07 15:11:56 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2023-11-07 15:11:56 +0000 |
commit | 57b17fdce27b79ef8b3e48fc45171042a94a1924 (patch) | |
tree | e0e383d7df1edbd0a6af74d4bdf226e148fff654 /searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp | |
parent | 08dacb85e24dbd059122c082c48607ab30d46d42 (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.cpp | 2 |
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)); |