diff options
Diffstat (limited to 'storageserver')
-rw-r--r-- | storageserver/src/vespa/storageserver/app/distributorprocess.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/storageserver/src/vespa/storageserver/app/distributorprocess.cpp b/storageserver/src/vespa/storageserver/app/distributorprocess.cpp index ede7fd1c9c0..45802df8866 100644 --- a/storageserver/src/vespa/storageserver/app/distributorprocess.cpp +++ b/storageserver/src/vespa/storageserver/app/distributorprocess.cpp @@ -1,9 +1,10 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "distributorprocess.h" -#include <vespa/storage/common/storagelink.h> -#include <vespa/storage/common/i_storage_chain_builder.h> #include <vespa/config/helper/configgetter.hpp> +#include <vespa/storage/common/bucket_stripe_utils.h> +#include <vespa/storage/common/i_storage_chain_builder.h> +#include <vespa/storage/common/storagelink.h> #include <vespa/log/log.h> LOG_SETUP(".process.distributor"); @@ -32,6 +33,21 @@ DistributorProcess::shutdown() _node.reset(); } +namespace { + +uint32_t +adjusted_num_distributor_stripes(uint32_t cfg_n_stripes) +{ + uint32_t adjusted_n_stripes = storage::adjusted_num_stripes(cfg_n_stripes); + if (adjusted_n_stripes != cfg_n_stripes) { + LOG(warning, "Configured number of distributor stripes (%u) is not valid. Adjusting to a valid value (%u)", + cfg_n_stripes, adjusted_n_stripes); + } + return adjusted_n_stripes; +} + +} + void DistributorProcess::setupConfig(milliseconds subscribeTimeout) { @@ -40,7 +56,7 @@ DistributorProcess::setupConfig(milliseconds subscribeTimeout) auto distr_cfg = config::ConfigGetter<StorDistributormanagerConfig>::getConfig( _configUri.getConfigId(), _configUri.getContext(), subscribeTimeout); - _num_distributor_stripes = distr_cfg->numDistributorStripes; + _num_distributor_stripes = adjusted_num_distributor_stripes(distr_cfg->numDistributorStripes); _distributorConfigHandler = _configSubscriber.subscribe<StorDistributormanagerConfig>(_configUri.getConfigId(), subscribeTimeout); _visitDispatcherConfigHandler = _configSubscriber.subscribe<StorVisitordispatcherConfig>(_configUri.getConfigId(), subscribeTimeout); Process::setupConfig(subscribeTimeout); |