summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2021-08-25 15:01:53 +0000
committerGeir Storli <geirst@verizonmedia.com>2021-08-25 15:08:21 +0000
commitf784aefb6a8694ab4d73b8cc46fb3d61a6b18fef (patch)
treeb30485718ff7814eedb4078bb9f175fc2fd70420 /storage
parent13db9a04be59b3a26d78e1fa979a21abf47c9432 (diff)
Rewrite per stripe tests that need to set pending cluster state to use DistributorStripeTestUtil.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/distributor/distributor_stripe_test_util.cpp10
-rw-r--r--storage/src/tests/distributor/distributor_stripe_test_util.h2
-rw-r--r--storage/src/tests/distributor/putoperationtest.cpp86
-rw-r--r--storage/src/tests/distributor/visitoroperationtest.cpp98
4 files changed, 103 insertions, 93 deletions
diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.cpp b/storage/src/tests/distributor/distributor_stripe_test_util.cpp
index 2c0b34752c7..2be74e40ad1 100644
--- a/storage/src/tests/distributor/distributor_stripe_test_util.cpp
+++ b/storage/src/tests/distributor/distributor_stripe_test_util.cpp
@@ -136,6 +136,16 @@ DistributorStripeTestUtil::handle_top_level_message(const std::shared_ptr<api::S
}
void
+DistributorStripeTestUtil::simulate_set_pending_cluster_state(const lib::ClusterStateBundle& pending_state)
+{
+ for (auto& space : _stripe->getBucketSpaceRepo()) {
+ const auto& new_cluster_state = pending_state.getDerivedClusterState(space.first);
+ _stripe->remove_superfluous_buckets(space.first, *new_cluster_state, false);
+ }
+ _stripe->set_pending_cluster_state_bundle(pending_state);
+}
+
+void
DistributorStripeTestUtil::setTypeRepo(const std::shared_ptr<const document::DocumentTypeRepo>& repo)
{
_node->getComponentRegister().setDocumentTypeRepo(repo);
diff --git a/storage/src/tests/distributor/distributor_stripe_test_util.h b/storage/src/tests/distributor/distributor_stripe_test_util.h
index afe9e9da085..20af2b8c939 100644
--- a/storage/src/tests/distributor/distributor_stripe_test_util.h
+++ b/storage/src/tests/distributor/distributor_stripe_test_util.h
@@ -204,6 +204,8 @@ public:
void handle_top_level_message(const std::shared_ptr<api::StorageMessage>& msg);
+ void simulate_set_pending_cluster_state(const lib::ClusterStateBundle& pending_state);
+
protected:
vdstestlib::DirConfig _config;
std::unique_ptr<TestDistributorApp> _node;
diff --git a/storage/src/tests/distributor/putoperationtest.cpp b/storage/src/tests/distributor/putoperationtest.cpp
index b75751c1270..3433b2f3ce0 100644
--- a/storage/src/tests/distributor/putoperationtest.cpp
+++ b/storage/src/tests/distributor/putoperationtest.cpp
@@ -1,18 +1,17 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <tests/distributor/distributor_stripe_test_util.h>
#include <vespa/document/repo/documenttyperepo.h>
-#include <vespa/storage/distributor/operations/external/putoperation.h>
+#include <vespa/document/test/make_document_bucket.h>
#include <vespa/storage/distributor/distributor.h>
-#include <vespa/storage/distributor/distributor_stripe.h>
#include <vespa/storage/distributor/distributor_bucket_space.h>
+#include <vespa/storage/distributor/distributor_stripe.h>
+#include <vespa/storage/distributor/operations/external/putoperation.h>
#include <vespa/storageapi/message/bucket.h>
#include <vespa/storageapi/message/persistence.h>
#include <vespa/storageapi/message/state.h>
-#include <tests/distributor/distributortestutil.h>
-#include <tests/common/dummystoragelink.h>
-#include <vespa/document/test/make_document_bucket.h>
-#include <vespa/vespalib/text/stringtokenizer.h>
#include <vespa/vespalib/gtest/gtest.h>
+#include <vespa/vespalib/text/stringtokenizer.h>
using std::shared_ptr;
using config::ConfigGetter;
@@ -31,7 +30,7 @@ using namespace ::testing;
namespace storage::distributor {
class PutOperationTest : public Test,
- public DistributorTestUtil
+ public DistributorStripeTestUtil
{
public:
document::TestDocMan _testDocMan;
@@ -78,8 +77,7 @@ public:
operation_context(),
getDistributorBucketSpace(),
msg,
- getDistributor().getMetrics().
- puts);
+ metrics().puts);
op->start(_sender, framework::MilliSecTime(0));
}
@@ -127,7 +125,7 @@ using RequirePrimaryWritten = bool;
const vespalib::duration TIMEOUT = 180ms;
TEST_F(PutOperationTest, simple) {
- setupDistributor(1, 1, "storage:1 distributor:1");
+ setup_stripe(1, 1, "storage:1 distributor:1");
createAndSendSampleDocument(TIMEOUT);
ASSERT_EQ("Put(BucketId(0x4000000000001dd4), "
@@ -142,7 +140,7 @@ TEST_F(PutOperationTest, simple) {
}
TEST_F(PutOperationTest, bucket_database_gets_special_entry_when_CreateBucket_sent) {
- setupDistributor(2, 1, "storage:1 distributor:1");
+ setup_stripe(2, 1, "storage:1 distributor:1");
Document::SP doc(createDummyDocument("test", "test"));
sendPut(createPut(doc));
@@ -156,9 +154,11 @@ TEST_F(PutOperationTest, bucket_database_gets_special_entry_when_CreateBucket_se
}
TEST_F(PutOperationTest, send_inline_split_before_put_if_bucket_too_large) {
- setupDistributor(1, 1, "storage:1 distributor:1");
- getConfig().setSplitCount(1024);
- getConfig().setSplitSize(1000000);
+ setup_stripe(1, 1, "storage:1 distributor:1");
+ auto cfg = make_config();
+ cfg->setSplitCount(1024);
+ cfg->setSplitSize(1000000);
+ configure_stripe(cfg);
addNodesToBucketDB(document::BucketId(0x4000000000000593), "0=10000/10000/10000/t");
@@ -174,9 +174,11 @@ TEST_F(PutOperationTest, send_inline_split_before_put_if_bucket_too_large) {
}
TEST_F(PutOperationTest, do_not_send_inline_split_if_not_configured) {
- setupDistributor(1, 1, "storage:1 distributor:1");
- getConfig().setSplitCount(1024);
- getConfig().setDoInlineSplit(false);
+ setup_stripe(1, 1, "storage:1 distributor:1");
+ auto cfg = make_config();
+ cfg->setSplitCount(1024);
+ cfg->setDoInlineSplit(false);
+ configure_stripe(cfg);
addNodesToBucketDB(document::BucketId(0x4000000000000593), "0=10000/10000/10000/t");
@@ -188,7 +190,7 @@ TEST_F(PutOperationTest, do_not_send_inline_split_if_not_configured) {
}
TEST_F(PutOperationTest, return_success_if_op_acked_on_all_replicas_even_if_bucket_concurrently_removed_from_db) {
- setupDistributor(2, 2, "storage:2 distributor:1");
+ setup_stripe(2, 2, "storage:2 distributor:1");
createAndSendSampleDocument(TIMEOUT);
ASSERT_EQ("Put(BucketId(0x4000000000001dd4), "
@@ -216,7 +218,7 @@ TEST_F(PutOperationTest, return_success_if_op_acked_on_all_replicas_even_if_buck
}
TEST_F(PutOperationTest, storage_failed) {
- setupDistributor(2, 1, "storage:1 distributor:1");
+ setup_stripe(2, 1, "storage:1 distributor:1");
createAndSendSampleDocument(TIMEOUT);
@@ -228,7 +230,7 @@ TEST_F(PutOperationTest, storage_failed) {
}
TEST_F(PutOperationTest, multiple_copies) {
- setupDistributor(3, 4, "storage:4 distributor:1");
+ setup_stripe(3, 4, "storage:4 distributor:1");
Document::SP doc(createDummyDocument("test", "test"));
sendPut(createPut(doc));
@@ -253,7 +255,7 @@ TEST_F(PutOperationTest, multiple_copies) {
}
TEST_F(PutOperationTest, multiple_copies_early_return_primary_required) {
- setupDistributor(3, 4, "storage:4 distributor:1", 2, true);
+ setup_stripe(3, 4, "storage:4 distributor:1", 2, true);
sendPut(createPut(createDummyDocument("test", "test")));
@@ -276,7 +278,7 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_required) {
}
TEST_F(PutOperationTest, multiple_copies_early_return_primary_not_required) {
- setupDistributor(3, 4, "storage:4 distributor:1", 2, false);
+ setup_stripe(3, 4, "storage:4 distributor:1", 2, false);
sendPut(createPut(createDummyDocument("test", "test")));
@@ -298,7 +300,7 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_not_required) {
}
TEST_F(PutOperationTest, multiple_copies_early_return_primary_required_not_done) {
- setupDistributor(3, 4, "storage:4 distributor:1", 2, true);
+ setup_stripe(3, 4, "storage:4 distributor:1", 2, true);
sendPut(createPut(createDummyDocument("test", "test")));
@@ -316,7 +318,7 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_required_not_done)
}
TEST_F(PutOperationTest, do_not_revert_on_failure_after_early_return) {
- setupDistributor(Redundancy(3),NodeCount(4), "storage:4 distributor:1",
+ setup_stripe(Redundancy(3),NodeCount(4), "storage:4 distributor:1",
ReturnAfter(2), RequirePrimaryWritten(false));
sendPut(createPut(createDummyDocument("test", "test")));
@@ -344,7 +346,7 @@ TEST_F(PutOperationTest, do_not_revert_on_failure_after_early_return) {
}
TEST_F(PutOperationTest, revert_successful_copies_when_one_fails) {
- setupDistributor(3, 4, "storage:4 distributor:1");
+ setup_stripe(3, 4, "storage:4 distributor:1");
createAndSendSampleDocument(TIMEOUT);
@@ -369,7 +371,7 @@ TEST_F(PutOperationTest, no_revert_if_revert_disabled) {
getDirConfig().getConfig("stor-distributormanager")
.set("enable_revert", "false");
SetUp();
- setupDistributor(3, 4, "storage:4 distributor:1");
+ setup_stripe(3, 4, "storage:4 distributor:1");
createAndSendSampleDocument(TIMEOUT);
@@ -390,7 +392,7 @@ TEST_F(PutOperationTest, no_revert_if_revert_disabled) {
}
TEST_F(PutOperationTest, do_not_send_CreateBucket_if_already_pending) {
- setupDistributor(2, 2, "storage:2 distributor:1");
+ setup_stripe(2, 2, "storage:2 distributor:1");
Document::SP doc(createDummyDocument("test", "uri"));
sendPut(createPut(doc));
@@ -415,7 +417,7 @@ TEST_F(PutOperationTest, do_not_send_CreateBucket_if_already_pending) {
}
TEST_F(PutOperationTest, no_storage_nodes) {
- setupDistributor(2, 1, "storage:0 distributor:1");
+ setup_stripe(2, 1, "storage:0 distributor:1");
createAndSendSampleDocument(TIMEOUT);
ASSERT_EQ("PutReply(id:test:testdoctype1::, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NOT_CONNECTED, "
@@ -424,7 +426,7 @@ TEST_F(PutOperationTest, no_storage_nodes) {
}
TEST_F(PutOperationTest, update_correct_bucket_on_remapped_put) {
- setupDistributor(2, 2, "storage:2 distributor:1");
+ setup_stripe(2, 2, "storage:2 distributor:1");
auto doc = std::make_shared<Document>(doc_type(), DocumentId("id:test:testdoctype1:n=13:uri"));
addNodesToBucketDB(document::BucketId(16,13), "0=0,1=0");
@@ -502,7 +504,7 @@ PutOperationTest::getNodes(const std::string& infoString) {
}
TEST_F(PutOperationTest, target_nodes) {
- setupDistributor(2, 6, "storage:6 distributor:1");
+ setup_stripe(2, 6, "storage:6 distributor:1");
// Ideal state of bucket is 1,2.
ASSERT_EQ("target( 1 2 ) create( 1 2 )", getNodes(""));
@@ -516,7 +518,7 @@ TEST_F(PutOperationTest, target_nodes) {
}
TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_active_state) {
- setupDistributor(Redundancy(3), NodeCount(3), "distributor:1 storage:3");
+ setup_stripe(Redundancy(3), NodeCount(3), "distributor:1 storage:3");
Document::SP doc(createDummyDocument("test", "uri"));
document::BucketId bId = operation_context().make_split_bit_constrained_bucket_id(doc->getId());
@@ -527,7 +529,7 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_active_
ASSERT_EQ("Put => 1,Put => 2,Put => 0", _sender.getCommands(true));
- enableDistributorClusterState("distributor:1 storage:3 .1.s:d .2.s:m");
+ enable_cluster_state("distributor:1 storage:3 .1.s:d .2.s:m");
addNodesToBucketDB(bId, "0=1/2/3/t"); // This will actually remove node #1.
sendReply(0, api::ReturnCode::OK, api::BucketInfo(9, 9, 9));
@@ -540,7 +542,7 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_active_
}
TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_pending_state) {
- setupDistributor(Redundancy(3), NodeCount(4), "version:1 distributor:1 storage:3");
+ setup_stripe(Redundancy(3), NodeCount(4), "version:1 distributor:1 storage:3");
auto doc = createDummyDocument("test", "uri");
auto bucket = operation_context().make_split_bit_constrained_bucket_id(doc->getId());
@@ -559,9 +561,8 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_pending
// fetch here; if we just set a node down the cluster state would be immediately applied
// and the distributor's "clear pending messages for downed nodes" logic would kick in
// and hide the problem.
- getBucketDBUpdater().onSetSystemState(
- std::make_shared<api::SetSystemStateCommand>(
- lib::ClusterState("version:2 distributor:1 storage:4 .0.s:d .2.s:m")));
+ simulate_set_pending_cluster_state(lib::ClusterStateBundle(
+ lib::ClusterState("version:2 distributor:1 storage:4 .0.s:d .2.s:m")));
sendReply(0, api::ReturnCode::OK, api::BucketInfo(5, 6, 7));
sendReply(1, api::ReturnCode::OK, api::BucketInfo(6, 7, 8));
@@ -575,13 +576,12 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_pending
// TODO probably also do this for updates and removes
// TODO consider if we should use the pending state verbatim for computing targets if it exists
TEST_F(PutOperationTest, put_is_failed_with_busy_if_target_down_in_pending_state) {
- setupDistributor(Redundancy(3), NodeCount(4), "version:1 distributor:1 storage:3");
+ setup_stripe(Redundancy(3), NodeCount(4), "version:1 distributor:1 storage:3");
auto doc = createDummyDocument("test", "test");
auto bucket = operation_context().make_split_bit_constrained_bucket_id(doc->getId());
addNodesToBucketDB(bucket, "0=1/2/3/t,1=1/2/3/t,2=1/2/3/t");
- getBucketDBUpdater().onSetSystemState(
- std::make_shared<api::SetSystemStateCommand>(
- lib::ClusterState("version:2 distributor:1 storage:4 .0.s:d .2.s:m")));
+ simulate_set_pending_cluster_state(lib::ClusterStateBundle(
+ lib::ClusterState("version:2 distributor:1 storage:4 .0.s:d .2.s:m")));
_sender.clear();
sendPut(createPut(doc));
@@ -593,7 +593,7 @@ TEST_F(PutOperationTest, put_is_failed_with_busy_if_target_down_in_pending_state
}
TEST_F(PutOperationTest, send_to_retired_nodes_if_no_up_nodes_available) {
- setupDistributor(Redundancy(2), NodeCount(2),
+ setup_stripe(Redundancy(2), NodeCount(2),
"distributor:1 storage:2 .0.s:r .1.s:r");
Document::SP doc(createDummyDocument("test", "uri"));
document::BucketId bucket(
@@ -606,7 +606,7 @@ TEST_F(PutOperationTest, send_to_retired_nodes_if_no_up_nodes_available) {
}
void PutOperationTest::do_test_creation_with_bucket_activation_disabled(bool disabled) {
- setupDistributor(Redundancy(2), NodeCount(2), "distributor:1 storage:1");
+ setup_stripe(Redundancy(2), NodeCount(2), "distributor:1 storage:1");
disableBucketActivationInConfig(disabled);
Document::SP doc(createDummyDocument("test", "uri"));
@@ -630,7 +630,7 @@ TEST_F(PutOperationTest, replica_not_implicitly_activated_when_activation_is_dis
}
void PutOperationTest::set_up_3_nodes_and_send_put_with_create_bucket_acks() {
- setupDistributor(3, 3, "storage:3 distributor:1");
+ setup_stripe(3, 3, "storage:3 distributor:1");
Document::SP doc(createDummyDocument("test", "test"));
sendPut(createPut(doc));
diff --git a/storage/src/tests/distributor/visitoroperationtest.cpp b/storage/src/tests/distributor/visitoroperationtest.cpp
index 011bf0e81fd..57ee965f0b0 100644
--- a/storage/src/tests/distributor/visitoroperationtest.cpp
+++ b/storage/src/tests/distributor/visitoroperationtest.cpp
@@ -1,18 +1,17 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/storageapi/message/bucket.h>
+#include <tests/distributor/distributor_stripe_test_util.h>
+#include <vespa/document/fieldset/fieldsets.h>
+#include <vespa/document/test/make_bucket_space.h>
+#include <vespa/storage/common/reindexing_constants.h>
+#include <vespa/storage/distributor/distributor.h>
+#include <vespa/storage/distributor/distributor_stripe.h>
+#include <vespa/storage/distributor/distributormetricsset.h>
+#include <vespa/storage/distributor/operations/external/visitoroperation.h>
+#include <vespa/storage/distributor/operations/external/visitororder.h>
#include <vespa/storageapi/message/bucketsplitting.h>
#include <vespa/storageapi/message/datagram.h>
#include <vespa/storageapi/message/persistence.h>
#include <vespa/storageapi/message/state.h>
-#include <vespa/storage/common/reindexing_constants.h>
-#include <vespa/storage/distributor/operations/external/visitoroperation.h>
-#include <vespa/storage/distributor/operations/external/visitororder.h>
-#include <vespa/storage/distributor/distributormetricsset.h>
-#include <tests/distributor/distributortestutil.h>
-#include <vespa/storage/distributor/distributor.h>
-#include <vespa/storage/distributor/distributor_stripe.h>
-#include <vespa/document/fieldset/fieldsets.h>
-#include <vespa/document/test/make_bucket_space.h>
#include <vespa/vespalib/gtest/gtest.h>
using namespace document;
@@ -23,7 +22,7 @@ using document::test::makeBucketSpace;
namespace storage::distributor {
-struct VisitorOperationTest : Test, DistributorTestUtil {
+struct VisitorOperationTest : Test, DistributorStripeTestUtil {
VisitorOperationTest()
: defaultConfig(100, 100)
{}
@@ -96,7 +95,7 @@ struct VisitorOperationTest : Test, DistributorTestUtil {
}
VisitorMetricSet& defaultVisitorMetrics() {
- return getDistributor().getMetrics().visits;
+ return metrics().visits;
}
std::unique_ptr<VisitorOperation> createOpWithConfig(
@@ -109,7 +108,7 @@ struct VisitorOperationTest : Test, DistributorTestUtil {
getDistributorBucketSpace(),
msg,
config,
- getDistributor().getMetrics().visits);
+ metrics().visits);
}
std::unique_ptr<VisitorOperation> createOpWithDefaultConfig(api::CreateVisitorCommand::SP msg)
@@ -150,7 +149,7 @@ TEST_F(VisitorOperationTest, parameter_forwarding) {
void
VisitorOperationTest::doStandardVisitTest(const std::string& clusterState)
{
- enableDistributorClusterState(clusterState);
+ enable_cluster_state(clusterState);
// Create bucket in bucketdb
document::BucketId id(uint64_t(0x400000000000007b));
@@ -212,7 +211,7 @@ VisitorOperationTest::doStandardVisitTest(const std::string& clusterState)
}
TEST_F(VisitorOperationTest, shutdown) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Create bucket in bucketdb
document::BucketId id(uint64_t(0x400000000000007b));
@@ -241,7 +240,7 @@ TEST_F(VisitorOperationTest, shutdown) {
}
TEST_F(VisitorOperationTest, no_bucket) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Send create visitor
auto msg = std::make_shared<api::CreateVisitorCommand>(
@@ -254,7 +253,7 @@ TEST_F(VisitorOperationTest, no_bucket) {
}
TEST_F(VisitorOperationTest, only_super_bucket_and_progress_allowed) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Send create visitor
api::CreateVisitorCommand::SP msg(new api::CreateVisitorCommand(
@@ -277,7 +276,7 @@ TEST_F(VisitorOperationTest, retired_storage_node) {
TEST_F(VisitorOperationTest, no_resend_after_timeout_passed) {
document::BucketId id(uint64_t(0x400000000000007b));
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
addNodesToBucketDB(id, "0=1/1/1/t,1=1/1/1/t");
auto op = createOpWithDefaultConfig(
@@ -297,7 +296,7 @@ TEST_F(VisitorOperationTest, no_resend_after_timeout_passed) {
}
TEST_F(VisitorOperationTest, distributor_not_ready) {
- enableDistributorClusterState("distributor:0 storage:0");
+ enable_cluster_state("distributor:0 storage:0");
document::BucketId id(uint64_t(0x400000000000007b));
EXPECT_EQ("CreateVisitorReply(last=BucketId(0x0000000000000000)) "
"ReturnCode(NODE_NOT_READY, No distributors available when "
@@ -307,7 +306,7 @@ TEST_F(VisitorOperationTest, distributor_not_ready) {
TEST_F(VisitorOperationTest, non_existing_bucket) {
document::BucketId id(uint64_t(0x400000000000007b));
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
auto res = runEmptyVisitor(
createVisitorCommand("nonExistingBucket", id, nullId));
EXPECT_EQ("CreateVisitorReply(last=BucketId(0x000000007fffffff)) "
@@ -317,7 +316,7 @@ TEST_F(VisitorOperationTest, non_existing_bucket) {
TEST_F(VisitorOperationTest, user_single_bucket) {
document::BucketId id(uint64_t(0x400000000000007b));
document::BucketId userid(uint64_t(0x800000000000007b));
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
addNodesToBucketDB(id, "0=1/1/1/t");
@@ -371,7 +370,7 @@ VisitorOperationTest::runVisitor(document::BucketId id,
}
TEST_F(VisitorOperationTest, user_inconsistently_split_bucket) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Not containing (19, 0x40001)
addNodesToBucketDB(document::BucketId(17, 0x0), "0=1/1/1/t");
@@ -414,7 +413,7 @@ TEST_F(VisitorOperationTest, user_inconsistently_split_bucket) {
}
TEST_F(VisitorOperationTest, bucket_removed_while_visitor_pending) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Create bucket in bucketdb
document::BucketId id(uint64_t(0x400000000000007b));
@@ -439,7 +438,7 @@ TEST_F(VisitorOperationTest, bucket_removed_while_visitor_pending) {
}
TEST_F(VisitorOperationTest, empty_buckets_visited_when_visiting_removes) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
document::BucketId id(uint64_t(0x400000000000007b));
addNodesToBucketDB(id, "0=0/0/0/1/2/t");
@@ -453,7 +452,7 @@ TEST_F(VisitorOperationTest, empty_buckets_visited_when_visiting_removes) {
}
TEST_F(VisitorOperationTest, resend_to_other_storage_node_on_failure) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
document::BucketId id(uint64_t(0x400000000000007b));
addNodesToBucketDB(id, "0=1/1/1/t,1=1/1/1/t");
@@ -477,7 +476,7 @@ TEST_F(VisitorOperationTest, resend_to_other_storage_node_on_failure) {
// client reply and that this won't cause things to hang for indeterminate
// amounts of time.
TEST_F(VisitorOperationTest, timeout_only_after_reply_from_all_storage_nodes) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
// Contained in (16, 0x1)
addNodesToBucketDB(document::BucketId(17, 0x00001), "0=1/1/1/t");
@@ -515,7 +514,7 @@ TEST_F(VisitorOperationTest, timeout_only_after_reply_from_all_storage_nodes) {
}
TEST_F(VisitorOperationTest, timeout_does_not_override_critical_error) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
addNodesToBucketDB(document::BucketId(17, 0x00001), "0=1/1/1/t");
addNodesToBucketDB(document::BucketId(17, 0x10001), "1=1/1/1/t");
@@ -544,7 +543,7 @@ TEST_F(VisitorOperationTest, timeout_does_not_override_critical_error) {
}
TEST_F(VisitorOperationTest, wrong_distribution) {
- setupDistributor(1, 100, "distributor:100 storage:2");
+ setup_stripe(1, 100, "distributor:100 storage:2");
document::BucketId id(uint64_t(0x400000000000127b));
ASSERT_EQ("CreateVisitorReply(last=BucketId(0x0000000000000000)) "
@@ -555,12 +554,11 @@ TEST_F(VisitorOperationTest, wrong_distribution) {
TEST_F(VisitorOperationTest, wrong_distribution_in_pending_state) {
// Force bucket to belong to this distributor in currently enabled state.
- setupDistributor(1, 100, "distributor:1 storage:2");
+ setup_stripe(1, 100, "distributor:1 storage:2");
// Trigger pending cluster state. Note: increase in storage node count
// to force resending of bucket info requests.
- auto stateCmd = std::make_shared<api::SetSystemStateCommand>(
- lib::ClusterState("distributor:100 storage:3"));
- getBucketDBUpdater().onSetSystemState(stateCmd);
+ simulate_set_pending_cluster_state(lib::ClusterStateBundle(
+ lib::ClusterState("distributor:100 storage:3")));
document::BucketId id(uint64_t(0x400000000000127b));
ASSERT_EQ("CreateVisitorReply(last=BucketId(0x0000000000000000)) "
@@ -574,7 +572,7 @@ TEST_F(VisitorOperationTest, wrong_distribution_in_pending_state) {
// higher version number.
// See ticket 6353382 for details.
TEST_F(VisitorOperationTest, visitor_aborted_if_node_is_marked_as_down) {
- setupDistributor(1, 10, "distributor:10 .0.s:s storage:10");
+ setup_stripe(1, 10, "distributor:10 .0.s:s storage:10");
document::BucketId id(uint64_t(0x400000000000127b));
ASSERT_EQ("CreateVisitorReply(last=BucketId(0x0000000000000000)) "
@@ -583,7 +581,7 @@ TEST_F(VisitorOperationTest, visitor_aborted_if_node_is_marked_as_down) {
}
TEST_F(VisitorOperationTest, bucket_high_bit_count) {
- enableDistributorClusterState("distributor:1 storage:1 bits:16");
+ enable_cluster_state("distributor:1 storage:1 bits:16");
document::BucketId id(18, 0x0);
addNodesToBucketDB(id, "0=1/1/1/t");
@@ -609,7 +607,7 @@ TEST_F(VisitorOperationTest, bucket_high_bit_count) {
}
TEST_F(VisitorOperationTest, bucket_low_bit_count) {
- enableDistributorClusterState("distributor:1 storage:1 bits:16");
+ enable_cluster_state("distributor:1 storage:1 bits:16");
document::BucketId id(1, 0x0);
addNodesToBucketDB(id, "0=1/1/1/t");
@@ -636,7 +634,7 @@ TEST_F(VisitorOperationTest, bucket_low_bit_count) {
}
TEST_F(VisitorOperationTest, parallel_visitors_to_one_storage_node) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Create buckets in bucketdb
for (int i=0; i<32; i++) {
@@ -709,7 +707,7 @@ TEST_F(VisitorOperationTest, parallel_visitors_to_one_storage_node) {
}
TEST_F(VisitorOperationTest, parallel_visitors_resend_only_failing) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
// Create buckets in bucketdb
for (int i=0; i<32; i++) {
@@ -750,7 +748,7 @@ TEST_F(VisitorOperationTest, parallel_visitors_resend_only_failing) {
}
TEST_F(VisitorOperationTest, parallel_visitors_to_one_storage_node_one_super_bucket) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
// Create buckets in bucketdb
for (int i=0; i<8; i++) {
@@ -783,7 +781,7 @@ TEST_F(VisitorOperationTest, parallel_visitors_to_one_storage_node_one_super_buc
}
TEST_F(VisitorOperationTest, visit_when_one_bucket_copy_is_invalid) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
document::BucketId id(16, 0);
@@ -795,7 +793,7 @@ TEST_F(VisitorOperationTest, visit_when_one_bucket_copy_is_invalid) {
}
TEST_F(VisitorOperationTest, visiting_when_all_buckets_are_invalid) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
document::BucketId id(16, 0);
@@ -807,7 +805,7 @@ TEST_F(VisitorOperationTest, visiting_when_all_buckets_are_invalid) {
}
TEST_F(VisitorOperationTest, inconsistency_handling) {
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
document::BucketId id(16, 0);
@@ -835,7 +833,7 @@ TEST_F(VisitorOperationTest, inconsistency_handling) {
TEST_F(VisitorOperationTest, visit_ideal_node) {
ClusterState state("distributor:1 storage:3");
- enable_distributor_cluster_state(lib::ClusterStateBundle(state));
+ enable_cluster_state(lib::ClusterStateBundle(state));
// Create buckets in bucketdb
for (int i=0; i<32; i++ ) {
@@ -866,7 +864,7 @@ TEST_F(VisitorOperationTest, visit_ideal_node) {
}
TEST_F(VisitorOperationTest, no_resending_on_critical_failure) {
- enableDistributorClusterState("distributor:1 storage:3");
+ enable_cluster_state("distributor:1 storage:3");
// Create buckets in bucketdb
for (int i=0; i<32; i++ ) {
@@ -890,7 +888,7 @@ TEST_F(VisitorOperationTest, no_resending_on_critical_failure) {
}
TEST_F(VisitorOperationTest, failure_on_all_nodes) {
- enableDistributorClusterState("distributor:1 storage:3");
+ enable_cluster_state("distributor:1 storage:3");
// Create buckets in bucketdb
for (int i=0; i<32; i++ ) {
@@ -921,7 +919,7 @@ TEST_F(VisitorOperationTest, failure_on_all_nodes) {
}
TEST_F(VisitorOperationTest, visit_in_chunks) {
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
for (int i = 0; i < 9; ++i) {
addNodesToBucketDB(document::BucketId(30, i << 16), "0=1/1/1/t");
@@ -966,7 +964,7 @@ TEST_F(VisitorOperationTest, visit_in_chunks) {
std::unique_ptr<VisitorOperation>
VisitorOperationTest::startOperationWith2StorageNodeVisitors(bool inconsistent)
{
- enableDistributorClusterState("distributor:1 storage:3");
+ enable_cluster_state("distributor:1 storage:3");
addNodesToBucketDB(document::BucketId(17, 1), "0=1/1/1/t");
addNodesToBucketDB(document::BucketId(17, 1ULL << 16 | 1), "1=1/1/1/t");
@@ -1026,7 +1024,7 @@ TEST_F(VisitorOperationTest, skip_failed_sub_buckets_when_visiting_inconsistent)
// having it hard-coded to 2000 ms as was the case earlier.
TEST_F(VisitorOperationTest, queue_timeout_is_factor_of_total_timeout) {
document::BucketId id(uint64_t(0x400000000000007b));
- enableDistributorClusterState("distributor:1 storage:2");
+ enable_cluster_state("distributor:1 storage:2");
addNodesToBucketDB(id, "0=1/1/1/t,1=1/1/1/t");
auto op = createOpWithDefaultConfig(
@@ -1044,7 +1042,7 @@ VisitorOperationTest::do_visitor_roundtrip_with_statistics(
const api::ReturnCode& result)
{
document::BucketId id(0x400000000000007bULL);
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
addNodesToBucketDB(id, "0=1/1/1/t");
auto op = createOpWithDefaultConfig(
@@ -1073,7 +1071,7 @@ TEST_F(VisitorOperationTest, metrics_are_updated_with_visitor_statistics_upon_re
}
TEST_F(VisitorOperationTest, statistical_metrics_not_updated_on_wrong_distribution) {
- setupDistributor(1, 100, "distributor:100 storage:2");
+ setup_stripe(1, 100, "distributor:100 storage:2");
document::BucketId id(uint64_t(0x400000000000127b));
ASSERT_EQ("CreateVisitorReply(last=BucketId(0x0000000000000000)) "
@@ -1092,7 +1090,7 @@ TEST_F(VisitorOperationTest, statistical_metrics_not_updated_on_wrong_distributi
TEST_F(VisitorOperationTest, assigning_put_lock_access_token_sets_special_visitor_parameter) {
document::BucketId id(0x400000000000007bULL);
- enableDistributorClusterState("distributor:1 storage:1");
+ enable_cluster_state("distributor:1 storage:1");
addNodesToBucketDB(id, "0=1/1/1/t");
auto op = createOpWithDefaultConfig(createVisitorCommand("metricstats", id, nullId));