diff options
author | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2020-10-30 12:02:38 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2020-10-30 13:51:09 +0000 |
commit | 6d917736806d1e69b0b662657b5ab09e1bc5b904 (patch) | |
tree | 063de1aede1b62db7847176c1a4585aaf56baaff /storageserver/src | |
parent | 20a572948405232c4fd5b74360c667e29058d2f8 (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/src')
-rw-r--r-- | storageserver/src/vespa/storageserver/app/servicelayerprocess.cpp | 12 |
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)) { } |