aboutsummaryrefslogtreecommitdiffstats
path: root/storageserver
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2020-10-30 12:02:38 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2020-10-30 13:51:09 +0000
commit6d917736806d1e69b0b662657b5ab09e1bc5b904 (patch)
tree063de1aede1b62db7847176c1a4585aaf56baaff /storageserver
parent20a572948405232c4fd5b74360c667e29058d2f8 (diff)
Add stripe bits config and wire to implementation
Default is zero bits, which causes the standard, non-striped implementation to be used.
Diffstat (limited to 'storageserver')
-rw-r--r--storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp b/storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp
index bdb53ce6a60..7c7816f33ac 100644
--- a/storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp
+++ b/storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp
@@ -2,6 +2,7 @@
#include "servicelayerprocess.h"
#include <vespa/config/helper/configgetter.hpp>
+#include <vespa/storage/common/content_bucket_db_options.h>
#include <vespa/storage/common/i_storage_chain_builder.h>
#include <vespa/storage/config/config-stor-server.h>
#include <vespa/storage/storageserver/servicelayernode.h>
@@ -14,11 +15,16 @@ namespace storage {
namespace {
-bool configured_to_use_btree_db(const config::ConfigUri& config_uri) {
+ContentBucketDbOptions bucket_db_options_from_config(const config::ConfigUri& config_uri) {
using vespa::config::content::core::StorServerConfig;
auto server_config = config::ConfigGetter<StorServerConfig>::getConfig(
config_uri.getConfigId(), config_uri.getContext());
- return server_config->useContentNodeBtreeBucketDb;
+ // For now, limit to max 8 bits, i.e. 256 sub DBs.
+ // 0 bits (the default value) disables striping entirely.
+ auto n_stripe_bits = std::min(std::max(server_config->contentNodeBucketDbStripeBits, 0), 8);
+ ContentBucketDbOptions opts;
+ opts.n_stripe_bits = n_stripe_bits;
+ return opts;
}
}
@@ -29,7 +35,7 @@ ServiceLayerProcess::ServiceLayerProcess(const config::ConfigUri& configUri)
_node(),
_storage_chain_builder(),
_context(std::make_unique<framework::defaultimplementation::RealClock>(),
- configured_to_use_btree_db(configUri))
+ bucket_db_options_from_config(configUri))
{
}