diff options
Diffstat (limited to 'storage/src/tests/distributor/distributortest.cpp')
-rw-r--r-- | storage/src/tests/distributor/distributortest.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/storage/src/tests/distributor/distributortest.cpp b/storage/src/tests/distributor/distributortest.cpp index 10b0d035770..298a4283bfa 100644 --- a/storage/src/tests/distributor/distributortest.cpp +++ b/storage/src/tests/distributor/distributortest.cpp @@ -44,6 +44,7 @@ class Distributor_Test : public CppUnit::TestFixture, CPPUNIT_TEST(bucketActivationConfigIsPropagatedToDistributorConfiguration); CPPUNIT_TEST(max_clock_skew_config_is_propagated_to_distributor_config); CPPUNIT_TEST(configured_safe_time_point_rejection_works_end_to_end); + CPPUNIT_TEST(sequencing_config_is_propagated_to_distributor_config); CPPUNIT_TEST_SUITE_END(); protected: @@ -70,6 +71,7 @@ protected: void bucketActivationConfigIsPropagatedToDistributorConfiguration(); void max_clock_skew_config_is_propagated_to_distributor_config(); void configured_safe_time_point_rejection_works_end_to_end(); + void sequencing_config_is_propagated_to_distributor_config(); public: void setUp() override { @@ -173,6 +175,7 @@ private: void sendDownDummyRemoveCommand(); void assertSingleBouncedRemoveReplyPresent(); void assertNoMessageBounced(); + void configure_mutation_sequencing(bool enabled); }; CPPUNIT_TEST_SUITE_REGISTRATION(Distributor_Test); @@ -790,6 +793,31 @@ Distributor_Test::configured_safe_time_point_rejection_works_end_to_end() { assertNoMessageBounced(); } +void Distributor_Test::configure_mutation_sequencing(bool enabled) { + using namespace vespa::config::content::core; + using ConfigBuilder = StorDistributormanagerConfigBuilder; + + ConfigBuilder builder; + builder.sequenceMutatingOperations = enabled; + getConfig().configure(builder); + _distributor->enableNextConfig(); +} + +void Distributor_Test::sequencing_config_is_propagated_to_distributor_config() { + setupDistributor(Redundancy(2), NodeCount(2), "storage:2 distributor:1"); + + // Should be enabled by default + CPPUNIT_ASSERT(getConfig().getSequenceMutatingOperations()); + + // Explicitly disabled. + configure_mutation_sequencing(false); + CPPUNIT_ASSERT(!getConfig().getSequenceMutatingOperations()); + + // Explicitly enabled. + configure_mutation_sequencing(true); + CPPUNIT_ASSERT(getConfig().getSequenceMutatingOperations()); +} + } } |