summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configdefinitions/src/vespa/stor-filestor.def5
-rw-r--r--storage/src/vespa/storage/config/stor-communicationmanager.def2
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp3
3 files changed, 9 insertions, 1 deletions
diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def
index 8ac372c0575..bf1b4294b5b 100644
--- a/configdefinitions/src/vespa/stor-filestor.def
+++ b/configdefinitions/src/vespa/stor-filestor.def
@@ -31,6 +31,11 @@ num_threads int default=8 restart
## Negative number will choose a good number based on # cores.
num_response_threads int default=2 restart
+## Number of handler objects that might be created by networkthreads
+## This is a temporary setting that only skilled vespa developers should modify
+## This must be kept in line with stor-communicationmanager:rpc.num_network_threads
+num_network_threads int default=1 restart
+
## Type of sequenced thread executor use for persistence replies.
response_sequencer_type enum {LATENCY, THROUGHPUT, ADAPTIVE} default=ADAPTIVE restart
diff --git a/storage/src/vespa/storage/config/stor-communicationmanager.def b/storage/src/vespa/storage/config/stor-communicationmanager.def
index cabb8516153..3511899728d 100644
--- a/storage/src/vespa/storage/config/stor-communicationmanager.def
+++ b/storage/src/vespa/storage/config/stor-communicationmanager.def
@@ -68,6 +68,8 @@ rpc.num_network_threads int default=1
## The bucket id associated with a message is used to select the RPC target.
## This ensures the same RPC target is used for all messages to the same bucket to the same node,
## and the RPC target itself handles sequencing of these messages.
+## NB !! It is vital that this number is kept in sync with stor-filestor:num_network_threads.
+## Only skilled vespa core devolpers should touch this.
rpc.num_targets_per_node int default=1
# Minimum size of packets to compress (0 means no compression)
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
index 34e8f599f8f..dd0a933af26 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
@@ -155,7 +155,8 @@ FileStorManager::configure(std::unique_ptr<vespa::config::content::StorFilestorC
_config = std::move(config);
size_t numThreads = _config->numThreads;
size_t numStripes = std::max(size_t(1u), numThreads / 2);
- _metrics->initDiskMetrics(1, _component.getLoadTypes()->getMetricLoadTypes(), numStripes, numThreads);
+ _metrics->initDiskMetrics(1, _component.getLoadTypes()->getMetricLoadTypes(), numStripes,
+ numThreads + config->numResponseThreads + config->numNetworkThreads);
_filestorHandler = std::make_unique<FileStorHandlerImpl>(numThreads, numStripes, *this, *_metrics, _compReg);
uint32_t numResponseThreads = computeNumResponseThreads(_config->numResponseThreads);