aboutsummaryrefslogtreecommitdiffstats
path: root/storage/src
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2021-06-29 12:02:31 +0000
committerGeir Storli <geirst@verizonmedia.com>2021-06-29 12:02:31 +0000
commit632e96763ce3850a5d99186d5ad1bf7c28c31c9e (patch)
tree654897c9348ee3f0495b1c9fbffdca217cf32db1 /storage/src
parent766e7a43e400e356f2f3d36c3be0c843e43bb4ca (diff)
Properly configure the stripe instead of accessing the underlying config instance.
Diffstat (limited to 'storage/src')
-rw-r--r--storage/src/tests/distributor/distributor_stripe_test.cpp12
-rw-r--r--storage/src/tests/distributor/distributor_stripe_test_util.cpp31
-rw-r--r--storage/src/tests/distributor/distributor_stripe_test_util.h8
3 files changed, 39 insertions, 12 deletions
diff --git a/storage/src/tests/distributor/distributor_stripe_test.cpp b/storage/src/tests/distributor/distributor_stripe_test.cpp
index 3950f86b9ad..764702dc675 100644
--- a/storage/src/tests/distributor/distributor_stripe_test.cpp
+++ b/storage/src/tests/distributor/distributor_stripe_test.cpp
@@ -202,8 +202,10 @@ TEST_F(DistributorStripeTest, recovery_mode_on_cluster_state_change)
TEST_F(DistributorStripeTest, operations_are_throttled)
{
setup_stripe(Redundancy(1), NodeCount(1), "storage:1 distributor:1");
- getConfig().setMinPendingMaintenanceOps(1);
- getConfig().setMaxPendingMaintenanceOps(1);
+ auto config = make_config();
+ config->setMinPendingMaintenanceOps(1);
+ config->setMaxPendingMaintenanceOps(1);
+ configure_stripe(config);
for (uint32_t i = 0; i < 6; ++i) {
addNodesToBucketDB(document::BucketId(16, i), "0=1");
@@ -298,7 +300,7 @@ TEST_F(DistributorStripeTest, priority_config_is_propagated_to_distributor_confi
builder.priorityGarbageCollection = 11;
builder.priorityMergeGlobalBuckets = 12;
- getConfig().configure(builder);
+ configure_stripe(builder);
const auto& mp = getConfig().getMaintenancePriorities();
EXPECT_EQ(1, static_cast<int>(mp.mergeMoveToIdealNode));
@@ -437,7 +439,7 @@ TEST_F(DistributorStripeTest, max_consecutively_inhibited_maintenance_ticks_conf
setup_stripe(Redundancy(2), NodeCount(2), "storage:2 distributor:1");
ConfigBuilder builder;
builder.maxConsecutivelyInhibitedMaintenanceTicks = 123;
- getConfig().configure(builder);
+ configure_stripe(builder);
EXPECT_EQ(getConfig().max_consecutively_inhibited_maintenance_ticks(), 123);
}
@@ -455,7 +457,7 @@ TEST_F(DistributorStripeTest, bucket_activation_config_is_propagated_to_distribu
ConfigBuilder builder;
builder.disableBucketActivation = true;
- getConfig().configure(builder);
+ configure_stripe(builder);
EXPECT_TRUE(getConfig().isBucketActivationDisabled());
}
diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.cpp b/storage/src/tests/distributor/distributor_stripe_test_util.cpp
index dac101a0ab4..6edaccc014b 100644
--- a/storage/src/tests/distributor/distributor_stripe_test_util.cpp
+++ b/storage/src/tests/distributor/distributor_stripe_test_util.cpp
@@ -91,6 +91,26 @@ DistributorStripeTestUtil::setup_stripe(int redundancy,
_stripe->update_distribution_config(new_configs);
}
+std::shared_ptr<DistributorConfiguration>
+DistributorStripeTestUtil::make_config() const
+{
+ return std::make_shared<DistributorConfiguration>(_stripe->_component);
+}
+
+void
+DistributorStripeTestUtil::configure_stripe(std::shared_ptr<const DistributorConfiguration> config)
+{
+ _stripe->update_total_distributor_config(config);
+}
+
+void
+DistributorStripeTestUtil::configure_stripe(const ConfigBuilder& builder)
+{
+ auto config = make_config();
+ config->configure(builder);
+ configure_stripe(config);
+}
+
void
DistributorStripeTestUtil::receive_set_system_state_command(const vespalib::string& state_str)
{
@@ -343,9 +363,9 @@ DistributorStripeTestUtil::getBucket(const document::BucketId& bId) const
void
DistributorStripeTestUtil::disableBucketActivationInConfig(bool disable)
{
- vespa::config::content::core::StorDistributormanagerConfigBuilder config;
- config.disableBucketActivation = disable;
- getConfig().configure(config);
+ ConfigBuilder builder;
+ builder.disableBucketActivation = disable;
+ configure_stripe(builder);
}
StripeBucketDBUpdater&
@@ -384,10 +404,9 @@ DistributorStripeTestUtil::tick()
return _stripe->tick();
}
-DistributorConfiguration&
+const DistributorConfiguration&
DistributorStripeTestUtil::getConfig() {
- // TODO STRIPE avoid const cast
- return const_cast<DistributorConfiguration&>(_stripe->getConfig());
+ return _stripe->getConfig();
}
DistributorBucketSpace&
diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.h b/storage/src/tests/distributor/distributor_stripe_test_util.h
index ce0ceb91ac4..07f878326ea 100644
--- a/storage/src/tests/distributor/distributor_stripe_test_util.h
+++ b/storage/src/tests/distributor/distributor_stripe_test_util.h
@@ -127,7 +127,7 @@ public:
bool tick();
- DistributorConfiguration& getConfig();
+ const DistributorConfiguration& getConfig();
vdstestlib::DirConfig& getDirConfig() {
return _config;
@@ -168,6 +168,12 @@ public:
uint32_t early_return = false,
bool require_primary_to_be_written = true);
+ using ConfigBuilder = vespa::config::content::core::StorDistributormanagerConfigBuilder;
+
+ std::shared_ptr<DistributorConfiguration> make_config() const;
+ void configure_stripe(std::shared_ptr<const DistributorConfiguration> config);
+ void configure_stripe(const ConfigBuilder& builder);
+
// Implements DoneInitializeHandler
void notifyDoneInitializing() override {}