summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/distributor/distributortest.cpp
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2020-01-07 12:23:06 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2020-01-08 13:49:11 +0000
commit872f3bf53a0e0977fff8ecce5a803b58ca215030 (patch)
tree306980cc816d21d2f71bc7d223b2e391f0446c01 /storage/src/tests/distributor/distributortest.cpp
parent76fee3f4b68e1f9c8f46f10bb62ea3511686e96b (diff)
Add distributor configuration for disabling merges for testing
If config is set, all merges will be completely inhibited. This is useful for letting system tests operate against a bucket replica state that is deterministically out of sync. This relates to issue #11686
Diffstat (limited to 'storage/src/tests/distributor/distributortest.cpp')
-rw-r--r--storage/src/tests/distributor/distributortest.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/storage/src/tests/distributor/distributortest.cpp b/storage/src/tests/distributor/distributortest.cpp
index d456401876e..83ef7891630 100644
--- a/storage/src/tests/distributor/distributortest.cpp
+++ b/storage/src/tests/distributor/distributortest.cpp
@@ -181,6 +181,12 @@ struct DistributorTest : Test, DistributorTestUtil {
configureDistributor(builder);
}
+ void configure_merge_operations_disabled(bool disabled) {
+ ConfigBuilder builder;
+ builder.mergeOperationsDisabled = disabled;
+ configureDistributor(builder);
+ }
+
void configureMaxClusterClockSkew(int seconds);
void sendDownClusterStateCommand();
void replyToSingleRequestBucketInfoCommandWith1Bucket();
@@ -1021,6 +1027,17 @@ TEST_F(DistributorTest, fast_path_on_consistent_gets_config_is_propagated_to_int
EXPECT_FALSE(getConfig().update_fast_path_restart_enabled());
}
+TEST_F(DistributorTest, merge_disabling_config_is_propagated_to_internal_config) {
+ createLinks(true);
+ setupDistributor(Redundancy(1), NodeCount(1), "distributor:1 storage:1");
+
+ configure_merge_operations_disabled(true);
+ EXPECT_TRUE(getConfig().merge_operations_disabled());
+
+ configure_merge_operations_disabled(false);
+ EXPECT_FALSE(getConfig().merge_operations_disabled());
+}
+
TEST_F(DistributorTest, concurrent_reads_not_enabled_if_btree_db_is_not_enabled) {
createLinks(false);
setupDistributor(Redundancy(1), NodeCount(1), "distributor:1 storage:1");