diff options
author | Geir Storli <geirst@verizonmedia.com> | 2021-06-29 12:02:31 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2021-06-29 12:02:31 +0000 |
commit | 632e96763ce3850a5d99186d5ad1bf7c28c31c9e (patch) | |
tree | 654897c9348ee3f0495b1c9fbffdca217cf32db1 /storage/src | |
parent | 766e7a43e400e356f2f3d36c3be0c843e43bb4ca (diff) |
Properly configure the stripe instead of accessing the underlying config instance.
Diffstat (limited to 'storage/src')
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 {} |