diff options
Diffstat (limited to 'storage/src/tests')
18 files changed, 34 insertions, 66 deletions
diff --git a/storage/src/tests/common/teststorageapp.cpp b/storage/src/tests/common/teststorageapp.cpp index 07e32646a8d..e2e2de10702 100644 --- a/storage/src/tests/common/teststorageapp.cpp +++ b/storage/src/tests/common/teststorageapp.cpp @@ -3,6 +3,8 @@ #include "teststorageapp.h" #include <vespa/storage/common/content_bucket_db_options.h> #include <vespa/storage/config/config-stor-server.h> +#include <vespa/storage/config/config-stor-distributormanager.h> +#include <vespa/storage/config/config-stor-visitordispatcher.h> #include <vespa/config-stor-distribution.h> #include <vespa/config-fleetcontroller.h> #include <vespa/persistence/dummyimpl/dummypersistence.h> diff --git a/storage/src/tests/common/teststorageapp.h b/storage/src/tests/common/teststorageapp.h index 5695ca2618e..fb91145c66a 100644 --- a/storage/src/tests/common/teststorageapp.h +++ b/storage/src/tests/common/teststorageapp.h @@ -22,6 +22,7 @@ #include <vespa/document/bucket/fixed_bucket_spaces.h> #include <vespa/persistence/spi/types.h> #include <vespa/storage/bucketdb/storbucketdb.h> +#include <vespa/storage/bucketdb/bucketdatabase.h> #include <vespa/storage/common/doneinitializehandler.h> #include <vespa/storage/common/hostreporter/hostinfo.h> #include <vespa/storage/common/node_identity.h> @@ -36,7 +37,6 @@ namespace storage { namespace spi { struct PersistenceProvider; } -class StorageBucketDBInitializer; DEFINE_PRIMITIVE_WRAPPER(uint16_t, NodeIndex); DEFINE_PRIMITIVE_WRAPPER(uint16_t, NodeCount); diff --git a/storage/src/tests/distributor/bucketdbmetricupdatertest.cpp b/storage/src/tests/distributor/bucketdbmetricupdatertest.cpp index 58b4d5d0146..638c7698f02 100644 --- a/storage/src/tests/distributor/bucketdbmetricupdatertest.cpp +++ b/storage/src/tests/distributor/bucketdbmetricupdatertest.cpp @@ -316,8 +316,7 @@ TEST_F(BucketDBMetricUpdaterTest, min_bucket_replica_tracked_and_reported_per_no TEST_F(BucketDBMetricUpdaterTest, non_trusted_replicas_also_counted_in_mode_any) { BucketDBMetricUpdater metricUpdater; - using CountingMode = BucketDBMetricUpdater::ReplicaCountingMode; - metricUpdater.setMinimumReplicaCountingMode(CountingMode::ANY); + metricUpdater.setMinimumReplicaCountingMode(ReplicaCountingMode::ANY); visitBucketWith2Copies1Trusted(metricUpdater); visitBucketWith2CopiesBothTrusted(metricUpdater); @@ -327,8 +326,7 @@ TEST_F(BucketDBMetricUpdaterTest, non_trusted_replicas_also_counted_in_mode_any) TEST_F(BucketDBMetricUpdaterTest, minimum_replica_count_returned_for_node_in_mode_any) { BucketDBMetricUpdater metricUpdater; - using CountingMode = BucketDBMetricUpdater::ReplicaCountingMode; - metricUpdater.setMinimumReplicaCountingMode(CountingMode::ANY); + metricUpdater.setMinimumReplicaCountingMode(ReplicaCountingMode::ANY); visitBucketWith2CopiesBothTrusted(metricUpdater); visitBucketWith1Copy(metricUpdater); diff --git a/storage/src/tests/distributor/distributor_stripe_test.cpp b/storage/src/tests/distributor/distributor_stripe_test.cpp index 5ae19088bfb..fb67ccde3ba 100644 --- a/storage/src/tests/distributor/distributor_stripe_test.cpp +++ b/storage/src/tests/distributor/distributor_stripe_test.cpp @@ -8,6 +8,8 @@ #include <vespa/storage/distributor/top_level_distributor.h> #include <vespa/storage/distributor/distributor_bucket_space.h> #include <vespa/storage/distributor/distributor_stripe.h> +#include <vespa/storage/config/distributorconfiguration.h> +#include <vespa/storage/config/config-stor-distributormanager.h> #include <vespa/storageapi/message/bucketsplitting.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/storageapi/message/removelocation.h> @@ -51,7 +53,7 @@ struct DistributorStripeTest : Test, DistributorStripeTestUtil { using NodeCount = uint16_t; using Redundancy = uint16_t; - using ConfigBuilder = vespa::config::content::core::StorDistributormanagerConfigBuilder; + using ConfigBuilder = DistributorManagerConfig; auto currentReplicaCountingMode() const noexcept { return _stripe->_bucketDBMetricUpdater.getMinimumReplicaCountingMode(); @@ -582,7 +584,7 @@ TEST_F(DistributorStripeTest, stats_generated_for_preempted_operations) TEST_F(DistributorStripeTest, replica_counting_mode_is_configured_to_trusted_by_default) { setup_stripe(Redundancy(2), NodeCount(2), "storage:2 distributor:1"); - EXPECT_EQ(ConfigBuilder::MinimumReplicaCountingMode::TRUSTED, currentReplicaCountingMode()); + EXPECT_EQ(ReplicaCountingMode::TRUSTED, currentReplicaCountingMode()); } TEST_F(DistributorStripeTest, replica_counting_mode_config_is_propagated_to_metric_updater) @@ -591,7 +593,7 @@ TEST_F(DistributorStripeTest, replica_counting_mode_config_is_propagated_to_metr ConfigBuilder builder; builder.minimumReplicaCountingMode = ConfigBuilder::MinimumReplicaCountingMode::ANY; configure_stripe(builder); - EXPECT_EQ(ConfigBuilder::MinimumReplicaCountingMode::ANY, currentReplicaCountingMode()); + EXPECT_EQ(ReplicaCountingMode::ANY, currentReplicaCountingMode()); } TEST_F(DistributorStripeTest, max_consecutively_inhibited_maintenance_ticks_config_is_propagated_to_internal_config) @@ -638,19 +640,6 @@ TEST_F(DistributorStripeTest, max_clock_skew_config_is_propagated_to_distributor EXPECT_EQ(getConfig().getMaxClusterClockSkew(), std::chrono::seconds(5)); } -TEST_F(DistributorStripeTest, inhibit_default_merge_if_global_merges_pending_config_is_propagated) -{ - setup_stripe(Redundancy(2), NodeCount(2), "storage:2 distributor:1"); - ConfigBuilder builder; - builder.inhibitDefaultMergesWhenGlobalMergesPending = true; - configure_stripe(builder); - EXPECT_TRUE(getConfig().inhibit_default_merges_when_global_merges_pending()); - - builder.inhibitDefaultMergesWhenGlobalMergesPending = false; - configure_stripe(builder); - EXPECT_FALSE(getConfig().inhibit_default_merges_when_global_merges_pending()); -} - namespace { auto makeDummyRemoveCommand() { diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.cpp b/storage/src/tests/distributor/distributor_stripe_test_util.cpp index 1c651141b2c..65bc6d1fe3e 100644 --- a/storage/src/tests/distributor/distributor_stripe_test_util.cpp +++ b/storage/src/tests/distributor/distributor_stripe_test_util.cpp @@ -10,6 +10,8 @@ #include <vespa/storage/distributor/distributormetricsset.h> #include <vespa/storage/distributor/ideal_state_total_metrics.h> #include <vespa/storage/distributor/node_supported_features_repo.h> +#include <vespa/storage/config/distributorconfiguration.h> +#include <vespa/storage/config/config-stor-distributormanager.h> #include <vespa/storage/storageutil/utils.h> #include <vespa/vdslib/distribution/distribution.h> #include <vespa/vespalib/text/stringtokenizer.h> diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.h b/storage/src/tests/distributor/distributor_stripe_test_util.h index 10f8131fcde..801320e2bf8 100644 --- a/storage/src/tests/distributor/distributor_stripe_test_util.h +++ b/storage/src/tests/distributor/distributor_stripe_test_util.h @@ -9,11 +9,11 @@ #include <vespa/storage/distributor/stripe_host_info_notifier.h> #include <vespa/storage/storageutil/utils.h> -namespace storage { - -namespace framework { struct TickingThreadPool; } +namespace storage::framework { + struct TickingThreadPool; +} -namespace distributor { +namespace storage::distributor { class DistributorBucketSpace; class DistributorBucketSpaceRepo; @@ -179,7 +179,7 @@ public: void simulate_distribution_config_change(std::shared_ptr<lib::Distribution> new_config); static std::shared_ptr<lib::Distribution> make_default_distribution_config(uint16_t redundancy, uint16_t node_count); - using ConfigBuilder = vespa::config::content::core::StorDistributormanagerConfigBuilder; + using ConfigBuilder = DistributorManagerConfig; std::shared_ptr<DistributorConfiguration> make_config() const; void configure_stripe(std::shared_ptr<const DistributorConfiguration> config); @@ -267,5 +267,3 @@ protected: }; } - -} diff --git a/storage/src/tests/distributor/externaloperationhandlertest.cpp b/storage/src/tests/distributor/externaloperationhandlertest.cpp index 3fb93d96787..634e4993d53 100644 --- a/storage/src/tests/distributor/externaloperationhandlertest.cpp +++ b/storage/src/tests/distributor/externaloperationhandlertest.cpp @@ -15,6 +15,7 @@ #include <vespa/storage/distributor/externaloperationhandler.h> #include <vespa/storage/distributor/operations/external/getoperation.h> #include <vespa/storage/distributor/operations/external/read_for_write_visitor_operation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/storageapi/message/visitor.h> #include <vespa/vespalib/gtest/gtest.h> diff --git a/storage/src/tests/distributor/garbagecollectiontest.cpp b/storage/src/tests/distributor/garbagecollectiontest.cpp index 6ab482f5259..bd80b9b447a 100644 --- a/storage/src/tests/distributor/garbagecollectiontest.cpp +++ b/storage/src/tests/distributor/garbagecollectiontest.cpp @@ -7,6 +7,7 @@ #include <vespa/storage/distributor/idealstatemanager.h> #include <vespa/storage/distributor/idealstatemetricsset.h> #include <vespa/storage/distributor/operations/idealstate/garbagecollectionoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/removelocation.h> #include <vespa/vespalib/gtest/gtest.h> diff --git a/storage/src/tests/distributor/joinbuckettest.cpp b/storage/src/tests/distributor/joinbuckettest.cpp index b79284c77b6..37ea7595439 100644 --- a/storage/src/tests/distributor/joinbuckettest.cpp +++ b/storage/src/tests/distributor/joinbuckettest.cpp @@ -4,6 +4,7 @@ #include <vespa/document/test/make_document_bucket.h> #include <vespa/storage/distributor/top_level_distributor.h> #include <vespa/storage/distributor/operations/idealstate/joinoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/bucketsplitting.h> #include <vespa/vespalib/gtest/gtest.h> #include <gmock/gmock.h> diff --git a/storage/src/tests/distributor/mergeoperationtest.cpp b/storage/src/tests/distributor/mergeoperationtest.cpp index 6ed05e14519..8c623eb7ba4 100644 --- a/storage/src/tests/distributor/mergeoperationtest.cpp +++ b/storage/src/tests/distributor/mergeoperationtest.cpp @@ -8,6 +8,7 @@ #include <vespa/storage/distributor/idealstatemanager.h> #include <vespa/storage/distributor/operation_sequencer.h> #include <vespa/storage/distributor/operations/idealstate/mergeoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/vdslib/distribution/distribution.h> #include <vespa/vespalib/gtest/gtest.h> diff --git a/storage/src/tests/distributor/putoperationtest.cpp b/storage/src/tests/distributor/putoperationtest.cpp index 430b0091369..5c6510ab1ec 100644 --- a/storage/src/tests/distributor/putoperationtest.cpp +++ b/storage/src/tests/distributor/putoperationtest.cpp @@ -8,6 +8,7 @@ #include <vespa/storage/distributor/distributor_stripe.h> #include <vespa/storage/distributor/operations/cancel_scope.h> #include <vespa/storage/distributor/operations/external/putoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/bucket.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/storageapi/message/state.h> diff --git a/storage/src/tests/distributor/splitbuckettest.cpp b/storage/src/tests/distributor/splitbuckettest.cpp index 5c2dc262a5c..8ab5211e037 100644 --- a/storage/src/tests/distributor/splitbuckettest.cpp +++ b/storage/src/tests/distributor/splitbuckettest.cpp @@ -7,6 +7,7 @@ #include <vespa/storage/distributor/idealstatemanager.h> #include <vespa/storage/distributor/operation_sequencer.h> #include <vespa/storage/distributor/operations/idealstate/splitoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/bucketsplitting.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/vespalib/gtest/gtest.h> diff --git a/storage/src/tests/distributor/statecheckerstest.cpp b/storage/src/tests/distributor/statecheckerstest.cpp index a0d45292c1d..ad9a1598788 100644 --- a/storage/src/tests/distributor/statecheckerstest.cpp +++ b/storage/src/tests/distributor/statecheckerstest.cpp @@ -12,6 +12,8 @@ #include <vespa/storage/distributor/distributor_stripe.h> #include <vespa/storage/distributor/operations/idealstate/mergeoperation.h> #include <vespa/storage/distributor/statecheckers.h> +#include <vespa/storage/config/distributorconfiguration.h> +#include <vespa/storage/config/config-stor-distributormanager.h> #include <vespa/storageapi/message/persistence.h> #include <vespa/storageapi/message/stat.h> #include <vespa/vdslib/distribution/distribution.h> @@ -59,12 +61,7 @@ struct StateCheckersTest : Test, DistributorStripeTestUtil { const std::vector<uint16_t>& expected) { auto& distributorBucketSpace(getIdealStateManager().getBucketSpaceRepo().get(makeBucketSpace())); - std::vector<uint16_t> idealNodes( - distributorBucketSpace - .getDistribution().getIdealStorageNodes( - distributorBucketSpace.getClusterState(), - bucket, - "ui")); + std::vector<uint16_t> idealNodes(distributorBucketSpace.getDistribution().getIdealStorageNodes(distributorBucketSpace.getClusterState(), bucket, "ui")); ASSERT_EQ(expected, idealNodes); } @@ -168,13 +165,9 @@ struct StateCheckersTest : Test, DistributorStripeTestUtil { static const PendingMessage NO_OP_BLOCKER; const PendingMessage* _blockerMessage {&NO_OP_BLOCKER}; uint32_t _redundancy {2}; - uint32_t _splitCount {0}; - uint32_t _splitSize {0}; - uint32_t _minSplitBits {0}; bool _includeMessagePriority {false}; bool _includeSchedulingPriority {false}; bool _merge_operations_disabled {false}; - bool _config_enable_default_space_merge_inhibition {false}; bool _merges_inhibited_in_bucket_space {false}; CheckerParams(); ~CheckerParams(); @@ -195,10 +188,6 @@ struct StateCheckersTest : Test, DistributorStripeTestUtil { _pending_cluster_state = state; return *this; } - CheckerParams& blockerMessage(const PendingMessage& blocker) { - _blockerMessage = &blocker; - return *this; - } CheckerParams& redundancy(uint32_t r) { _redundancy = r; return *this; @@ -219,10 +208,6 @@ struct StateCheckersTest : Test, DistributorStripeTestUtil { _bucket_space = bucket_space; return *this; } - CheckerParams& config_enable_default_space_merge_inhibition(bool enabled) noexcept { - _config_enable_default_space_merge_inhibition = enabled; - return *this; - } CheckerParams& merges_inhibited_in_bucket_space(bool inhibited) noexcept { _merges_inhibited_in_bucket_space = inhibited; return *this; @@ -238,9 +223,8 @@ struct StateCheckersTest : Test, DistributorStripeTestUtil { addNodesToBucketDB(bucket, params._bucketInfo); set_redundancy(params._redundancy); enable_cluster_state(params._clusterState); - vespa::config::content::core::StorDistributormanagerConfigBuilder config; + DistributorManagerConfig config; config.mergeOperationsDisabled = params._merge_operations_disabled; - config.inhibitDefaultMergesWhenGlobalMergesPending = params._config_enable_default_space_merge_inhibition; configure_stripe(config); if (!params._pending_cluster_state.empty()) { simulate_set_pending_cluster_state(params._pending_cluster_state); @@ -824,20 +808,6 @@ TEST_F(StateCheckersTest, no_merge_operation_generated_if_merges_inhibited_in_de CheckerParams() .expect("NO OPERATIONS GENERATED") // Would normally generate a merge op .bucketInfo("0=1,2=2") - .config_enable_default_space_merge_inhibition(true) - .merges_inhibited_in_bucket_space(true) - .clusterState("distributor:1 storage:3")); -} - -TEST_F(StateCheckersTest, merge_operation_still_generated_if_merges_inhibited_in_default_bucket_space_but_config_disallowed) { - runAndVerify<SynchronizeAndMoveStateChecker>( - CheckerParams() - .expect("[Moving bucket to ideal node 1]" - "[Synchronizing buckets with different checksums " - "node(idx=0,crc=0x1,docs=1/1,bytes=1/1,trusted=false,active=false,ready=false), " - "node(idx=2,crc=0x2,docs=2/2,bytes=2/2,trusted=false,active=false,ready=false)]") - .bucketInfo("0=1,2=2") - .config_enable_default_space_merge_inhibition(false) .merges_inhibited_in_bucket_space(true) .clusterState("distributor:1 storage:3")); } diff --git a/storage/src/tests/distributor/statoperationtest.cpp b/storage/src/tests/distributor/statoperationtest.cpp index 88777a61fb1..d530c03c898 100644 --- a/storage/src/tests/distributor/statoperationtest.cpp +++ b/storage/src/tests/distributor/statoperationtest.cpp @@ -6,6 +6,7 @@ #include <vespa/storage/distributor/distributor_bucket_space.h> #include <vespa/storage/distributor/operations/external/statbucketlistoperation.h> #include <vespa/storage/distributor/operations/external/statbucketoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storageapi/message/stat.h> #include <vespa/vespalib/gtest/gtest.h> #include <gmock/gmock.h> diff --git a/storage/src/tests/distributor/top_level_distributor_test.cpp b/storage/src/tests/distributor/top_level_distributor_test.cpp index 4e44abe71fb..f8c1b64fc3c 100644 --- a/storage/src/tests/distributor/top_level_distributor_test.cpp +++ b/storage/src/tests/distributor/top_level_distributor_test.cpp @@ -20,6 +20,7 @@ #include <vespa/storage/distributor/distributormetricsset.h> #include <vespa/storage/distributor/distributor_stripe_pool.h> #include <vespa/storage/distributor/distributor_stripe_thread.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/vespalib/stllike/asciistream.h> #include <vespa/metrics/updatehook.h> #include <thread> diff --git a/storage/src/tests/distributor/top_level_distributor_test_util.cpp b/storage/src/tests/distributor/top_level_distributor_test_util.cpp index 55cf4efc93b..94031c6d71e 100644 --- a/storage/src/tests/distributor/top_level_distributor_test_util.cpp +++ b/storage/src/tests/distributor/top_level_distributor_test_util.cpp @@ -355,14 +355,14 @@ TopLevelDistributorTestUtil::tick(bool only_tick_top_level) { return did_work; } -const DistributorConfig& +const DistributorManagerConfig& TopLevelDistributorTestUtil::current_distributor_config() const { return _component->getDistributorConfig(); } void -TopLevelDistributorTestUtil::reconfigure(const DistributorConfig& cfg) +TopLevelDistributorTestUtil::reconfigure(const DistributorManagerConfig& cfg) { _node->getComponentRegister().setDistributorConfig(cfg); tick(); // Config is propagated upon next top-level tick diff --git a/storage/src/tests/distributor/top_level_distributor_test_util.h b/storage/src/tests/distributor/top_level_distributor_test_util.h index 4132b7a398d..1d4c81a5bfb 100644 --- a/storage/src/tests/distributor/top_level_distributor_test_util.h +++ b/storage/src/tests/distributor/top_level_distributor_test_util.h @@ -76,8 +76,8 @@ public: bool tick(bool only_tick_top_level = false); - const DistributorConfig& current_distributor_config() const; - void reconfigure(const DistributorConfig&); + const DistributorManagerConfig& current_distributor_config() const; + void reconfigure(const DistributorManagerConfig&); framework::defaultimplementation::FakeClock& fake_clock() noexcept { return _node->getClock(); diff --git a/storage/src/tests/distributor/twophaseupdateoperationtest.cpp b/storage/src/tests/distributor/twophaseupdateoperationtest.cpp index d12d8254294..c9dfa346424 100644 --- a/storage/src/tests/distributor/twophaseupdateoperationtest.cpp +++ b/storage/src/tests/distributor/twophaseupdateoperationtest.cpp @@ -11,6 +11,7 @@ #include <vespa/storage/distributor/distributor_stripe.h> #include <vespa/storage/distributor/externaloperationhandler.h> #include <vespa/storage/distributor/operations/external/twophaseupdateoperation.h> +#include <vespa/storage/config/distributorconfiguration.h> #include <vespa/storage/distributor/top_level_distributor.h> #include <vespa/storageapi/message/persistence.h> #include <gtest/gtest.h> |