diff options
Diffstat (limited to 'storage/src/tests/distributor')
9 files changed, 55 insertions, 55 deletions
diff --git a/storage/src/tests/distributor/bucketstateoperationtest.cpp b/storage/src/tests/distributor/bucketstateoperationtest.cpp index a692ddd5cac..4abf47cd210 100644 --- a/storage/src/tests/distributor/bucketstateoperationtest.cpp +++ b/storage/src/tests/distributor/bucketstateoperationtest.cpp @@ -5,16 +5,13 @@ #include <vespa/storage/distributor/distributor.h> #include <vespa/document/test/make_document_bucket.h> #include <vespa/vespalib/gtest/gtest.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using namespace ::testing; namespace storage::distributor { -namespace { - vespalib::string _Storage("storage"); -} - struct BucketStateOperationTest : Test, DistributorTestUtil { void SetUp() override { createLinks(); @@ -43,7 +40,7 @@ TEST_F(BucketStateOperationTest, activate_single_node) { BucketAndNodes bucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(0)); std::vector<uint16_t> active; active.push_back(0); - SetBucketStateOperation op(&_Storage, bucketAndNodes, active); + SetBucketStateOperation op(dummy_cluster_context, bucketAndNodes, active); op.setIdealStateManager(&getIdealStateManager()); op.start(_sender, framework::MilliSecTime(0)); @@ -52,7 +49,7 @@ TEST_F(BucketStateOperationTest, activate_single_node) { std::shared_ptr<api::StorageCommand> msg = _sender.command(0); ASSERT_EQ(msg->getType(), api::MessageType::SETBUCKETSTATE); - EXPECT_EQ(api::StorageMessageAddress(&_Storage, lib::NodeType::STORAGE, 0).toString(), + EXPECT_EQ(api::StorageMessageAddress(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 0).toString(), msg->getAddress()->toString()); auto& cmd = dynamic_cast<const api::SetBucketStateCommand&>(*msg); @@ -79,7 +76,7 @@ TEST_F(BucketStateOperationTest, activate_and_deactivate_nodes) { BucketAndNodes bucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(0, 1)); std::vector<uint16_t> active; active.push_back(1); - SetBucketStateOperation op(&_Storage, bucketAndNodes, active); + SetBucketStateOperation op(dummy_cluster_context, bucketAndNodes, active); op.setIdealStateManager(&getIdealStateManager()); op.start(_sender, framework::MilliSecTime(0)); @@ -88,7 +85,7 @@ TEST_F(BucketStateOperationTest, activate_and_deactivate_nodes) { { std::shared_ptr<api::StorageCommand> msg = _sender.command(0); ASSERT_EQ(msg->getType(), api::MessageType::SETBUCKETSTATE); - EXPECT_EQ(api::StorageMessageAddress(&_Storage, lib::NodeType::STORAGE, 1).toString(), + EXPECT_EQ(api::StorageMessageAddress(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 1).toString(), msg->getAddress()->toString()); auto& cmd = dynamic_cast<const api::SetBucketStateCommand&>(*msg); @@ -103,7 +100,8 @@ TEST_F(BucketStateOperationTest, activate_and_deactivate_nodes) { { std::shared_ptr<api::StorageCommand> msg = _sender.command(1); ASSERT_EQ(msg->getType(), api::MessageType::SETBUCKETSTATE); - EXPECT_EQ(api::StorageMessageAddress(&_Storage, lib::NodeType::STORAGE, 0).toString(), + EXPECT_EQ(api::StorageMessageAddress(dummy_cluster_context.cluster_name_ptr(), + lib::NodeType::STORAGE, 0).toString(), msg->getAddress()->toString()); auto& cmd = dynamic_cast<const api::SetBucketStateCommand&>(*msg); @@ -134,7 +132,7 @@ TEST_F(BucketStateOperationTest, do_not_deactivate_if_activate_fails) { BucketAndNodes bucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(0, 1)); std::vector<uint16_t> active; active.push_back(1); - SetBucketStateOperation op(&_Storage, bucketAndNodes, active); + SetBucketStateOperation op(dummy_cluster_context, bucketAndNodes, active); op.setIdealStateManager(&getIdealStateManager()); op.start(_sender, framework::MilliSecTime(0)); @@ -143,7 +141,8 @@ TEST_F(BucketStateOperationTest, do_not_deactivate_if_activate_fails) { { std::shared_ptr<api::StorageCommand> msg = _sender.command(0); ASSERT_EQ(msg->getType(), api::MessageType::SETBUCKETSTATE); - EXPECT_EQ(api::StorageMessageAddress(&_Storage, lib::NodeType::STORAGE, 1).toString(), + EXPECT_EQ(api::StorageMessageAddress(dummy_cluster_context.cluster_name_ptr(), + lib::NodeType::STORAGE, 1).toString(), msg->getAddress()->toString()); auto& cmd = dynamic_cast<const api::SetBucketStateCommand&>(*msg); @@ -176,7 +175,7 @@ TEST_F(BucketStateOperationTest, bucket_db_not_updated_on_failure) { BucketAndNodes bucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(0)); std::vector<uint16_t> active; active.push_back(0); - SetBucketStateOperation op(&_Storage, bucketAndNodes, active); + SetBucketStateOperation op(dummy_cluster_context, bucketAndNodes, active); op.setIdealStateManager(&getIdealStateManager()); op.start(_sender, framework::MilliSecTime(0)); @@ -185,7 +184,8 @@ TEST_F(BucketStateOperationTest, bucket_db_not_updated_on_failure) { std::shared_ptr<api::StorageCommand> msg = _sender.command(0); ASSERT_EQ(msg->getType(), api::MessageType::SETBUCKETSTATE); - EXPECT_EQ(api::StorageMessageAddress(&_Storage, lib::NodeType::STORAGE, 0).toString(), + EXPECT_EQ(api::StorageMessageAddress(dummy_cluster_context.cluster_name_ptr(), + lib::NodeType::STORAGE, 0).toString(), msg->getAddress()->toString()); std::shared_ptr<api::StorageReply> reply(msg->makeReply().release()); diff --git a/storage/src/tests/distributor/distributor_message_sender_stub.cpp b/storage/src/tests/distributor/distributor_message_sender_stub.cpp index 893ebcd158a..bb0079744c2 100644 --- a/storage/src/tests/distributor/distributor_message_sender_stub.cpp +++ b/storage/src/tests/distributor/distributor_message_sender_stub.cpp @@ -11,7 +11,6 @@ namespace storage { DistributorMessageSenderStub::DistributorMessageSenderStub() : _stub_impl(), - _cluster_name("storage"), _pending_message_tracker(nullptr), _operation_sequencer(nullptr) {} diff --git a/storage/src/tests/distributor/distributor_message_sender_stub.h b/storage/src/tests/distributor/distributor_message_sender_stub.h index 0b5ab5ae9a7..3791839f3fe 100644 --- a/storage/src/tests/distributor/distributor_message_sender_stub.h +++ b/storage/src/tests/distributor/distributor_message_sender_stub.h @@ -6,12 +6,12 @@ #include <tests/common/message_sender_stub.h> #include <cassert> #include <string> +#include "dummy_cluster_context.h" namespace storage { class DistributorMessageSenderStub : public distributor::DistributorMessageSender { MessageSenderStub _stub_impl; - vespalib::string _cluster_name; distributor::PendingMessageTracker* _pending_message_tracker; distributor::OperationSequencer* _operation_sequencer; public: @@ -83,8 +83,8 @@ public: return 0; } - const vespalib::string& getClusterName() const override { - return _cluster_name; + const ClusterContext& cluster_context() const override { + return dummy_cluster_context; } const distributor::PendingMessageTracker& getPendingMessageTracker() const override { diff --git a/storage/src/tests/distributor/dummy_cluster_context.h b/storage/src/tests/distributor/dummy_cluster_context.h new file mode 100644 index 00000000000..1efbec4099e --- /dev/null +++ b/storage/src/tests/distributor/dummy_cluster_context.h @@ -0,0 +1,11 @@ +#pragma once + +#include <vespa/storage/common/cluster_context.h> + +namespace storage { +namespace { + +SimpleClusterContext dummy_cluster_context("storage"); + +} // namespace <unnamed> +} // namespace storage diff --git a/storage/src/tests/distributor/garbagecollectiontest.cpp b/storage/src/tests/distributor/garbagecollectiontest.cpp index e360578abec..751269fe586 100644 --- a/storage/src/tests/distributor/garbagecollectiontest.cpp +++ b/storage/src/tests/distributor/garbagecollectiontest.cpp @@ -8,16 +8,13 @@ #include <vespa/storage/distributor/distributor.h> #include <vespa/document/test/make_document_bucket.h> #include <vespa/vespalib/gtest/gtest.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using namespace ::testing; namespace storage::distributor { -namespace { - vespalib::string _Storage("storage"); -} - struct GarbageCollectionOperationTest : Test, DistributorTestUtil { void SetUp() override { createLinks(); @@ -33,7 +30,7 @@ struct GarbageCollectionOperationTest : Test, DistributorTestUtil { std::shared_ptr<GarbageCollectionOperation> create_op() { auto op = std::make_shared<GarbageCollectionOperation>( - &_Storage,BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), + dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(0, 1))); op->setIdealStateManager(&getIdealStateManager()); return op; diff --git a/storage/src/tests/distributor/idealstatemanagertest.cpp b/storage/src/tests/distributor/idealstatemanagertest.cpp index 24470c09114..51284307fa8 100644 --- a/storage/src/tests/distributor/idealstatemanagertest.cpp +++ b/storage/src/tests/distributor/idealstatemanagertest.cpp @@ -13,6 +13,7 @@ #include <vespa/document/test/make_document_bucket.h> #include <vespa/document/test/make_bucket_space.h> #include <vespa/vespalib/gtest/gtest.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using document::test::makeBucketSpace; @@ -59,9 +60,6 @@ struct IdealStateManagerTest : Test, DistributorTestUtil { std::vector<document::BucketSpace> _bucketSpaces; std::string makeBucketStatusString(const std::string &defaultSpaceBucketStatus); }; -namespace { - vespalib::string _Storage("storage"); -} TEST_F(IdealStateManagerTest, sibling) { EXPECT_EQ(document::BucketId(1,1), @@ -190,19 +188,19 @@ TEST_F(IdealStateManagerTest, block_ideal_state_ops_on_full_request_bucket_info) // sent to the entire node. It will then use a null bucketid. { auto msg = std::make_shared<api::RequestBucketInfoCommand>(makeBucketSpace(), buckets); - msg->setAddress(api::StorageMessageAddress::create(&_Storage, lib::NodeType::STORAGE, 4)); + msg->setAddress(api::StorageMessageAddress::create(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 4)); tracker.insert(msg); } { - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(3, 4))); EXPECT_TRUE(op.isBlocked(tracker, op_seq)); } { // Don't trigger on requests to other nodes. - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(3, 5))); EXPECT_FALSE(op.isBlocked(tracker, op_seq)); } @@ -210,12 +208,12 @@ TEST_F(IdealStateManagerTest, block_ideal_state_ops_on_full_request_bucket_info) // Don't block on null-bucket messages that aren't RequestBucketInfo. { auto msg = std::make_shared<api::CreateVisitorCommand>(makeBucketSpace(), "foo", "bar", "baz"); - msg->setAddress(api::StorageMessageAddress::create(&_Storage, lib::NodeType::STORAGE, 7)); + msg->setAddress(api::StorageMessageAddress::create(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 7)); tracker.insert(msg); } { - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(7))); EXPECT_FALSE(op.isBlocked(tracker, op_seq)); } @@ -230,11 +228,11 @@ TEST_F(IdealStateManagerTest, block_check_for_all_operations_to_specific_bucket) { auto msg = std::make_shared<api::JoinBucketsCommand>(makeDocumentBucket(bid)); - msg->setAddress(api::StorageMessageAddress::create(&_Storage, lib::NodeType::STORAGE, 4)); + msg->setAddress(api::StorageMessageAddress::create(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 4)); tracker.insert(msg); } { - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(bid), toVector<uint16_t>(7))); // Not blocked for exact node match. EXPECT_FALSE(checkBlock(op, makeDocumentBucket(bid), tracker, op_seq)); @@ -252,13 +250,13 @@ TEST_F(IdealStateManagerTest, block_operations_with_locked_buckets) { { auto msg = std::make_shared<api::JoinBucketsCommand>(bucket); - msg->setAddress(api::StorageMessageAddress::create(&_Storage, lib::NodeType::STORAGE, 1)); + msg->setAddress(api::StorageMessageAddress::create(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 1)); tracker.insert(msg); } auto token = op_seq.try_acquire(bucket, "foo"); EXPECT_TRUE(token.valid()); { - RemoveBucketOperation op(&_Storage, BucketAndNodes(bucket, toVector<uint16_t>(0))); + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(bucket, toVector<uint16_t>(0))); EXPECT_TRUE(checkBlock(op, bucket, tracker, op_seq)); EXPECT_TRUE(checkBlockForAllNodes(op, bucket, tracker, op_seq)); } diff --git a/storage/src/tests/distributor/joinbuckettest.cpp b/storage/src/tests/distributor/joinbuckettest.cpp index 12ad52e9d5e..9382648e881 100644 --- a/storage/src/tests/distributor/joinbuckettest.cpp +++ b/storage/src/tests/distributor/joinbuckettest.cpp @@ -6,6 +6,7 @@ #include <vespa/document/test/make_document_bucket.h> #include <vespa/vespalib/gtest/gtest.h> #include <gmock/gmock.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using namespace ::testing; @@ -27,10 +28,6 @@ struct JoinOperationTest : Test, DistributorTestUtil { } }; -namespace { - vespalib::string _Storage("storage"); -} - TEST_F(JoinOperationTest, simple) { getConfig().setJoinCount(100); getConfig().setJoinSize(1000); @@ -40,7 +37,7 @@ TEST_F(JoinOperationTest, simple) { enableDistributorClusterState("distributor:1 storage:1"); - JoinOperation op(&_Storage, + JoinOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(32, 0)), toVector<uint16_t>(0)), toVector(document::BucketId(33, 1), @@ -95,7 +92,7 @@ TEST_F(JoinOperationTest, send_sparse_joins_to_nodes_without_both_source_buckets enableDistributorClusterState("distributor:1 storage:2"); - JoinOperation op(&_Storage, + JoinOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(32, 0)), toVector<uint16_t>(0, 1)), toVector(document::BucketId(33, 1), diff --git a/storage/src/tests/distributor/removebucketoperationtest.cpp b/storage/src/tests/distributor/removebucketoperationtest.cpp index 26be1fc532e..c670e89b065 100644 --- a/storage/src/tests/distributor/removebucketoperationtest.cpp +++ b/storage/src/tests/distributor/removebucketoperationtest.cpp @@ -9,16 +9,13 @@ #include <tests/distributor/distributortestutil.h> #include <vespa/document/test/make_document_bucket.h> #include <vespa/vespalib/gtest/gtest.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using namespace ::testing; namespace storage::distributor { -namespace { - vespalib::string _Storage("storage"); -} - struct RemoveBucketOperationTest : Test, DistributorTestUtil { void SetUp() override { createLinks(); @@ -37,7 +34,7 @@ TEST_F(RemoveBucketOperationTest, simple) { setRedundancy(1); enableDistributorClusterState("distributor:1 storage:3"); - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(1,2))); op.setIdealStateManager(&getIdealStateManager()); @@ -69,7 +66,7 @@ TEST_F(RemoveBucketOperationTest, bucket_info_mismatch_failure) { enableDistributorClusterState("distributor:1 storage:2"); - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(1))); op.setIdealStateManager(&getIdealStateManager()); @@ -104,7 +101,7 @@ TEST_F(RemoveBucketOperationTest, fail_with_invalid_bucket_info) { enableDistributorClusterState("distributor:1 storage:2"); - RemoveBucketOperation op(&_Storage, + RemoveBucketOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(1))); op.setIdealStateManager(&getIdealStateManager()); diff --git a/storage/src/tests/distributor/splitbuckettest.cpp b/storage/src/tests/distributor/splitbuckettest.cpp index 93351c0ab56..527fc7bfa2a 100644 --- a/storage/src/tests/distributor/splitbuckettest.cpp +++ b/storage/src/tests/distributor/splitbuckettest.cpp @@ -10,6 +10,7 @@ #include <tests/common/dummystoragelink.h> #include <tests/distributor/distributortestutil.h> #include <vespa/vespalib/gtest/gtest.h> +#include "dummy_cluster_context.h" using document::test::makeDocumentBucket; using namespace document; @@ -46,8 +47,7 @@ SplitOperationTest::SplitOperationTest() } namespace { - vespalib::string _Storage("storage"); - api::StorageMessageAddress _Storage0Address(&_Storage, lib::NodeType::STORAGE, 0); + api::StorageMessageAddress _Storage0Address(dummy_cluster_context.cluster_name_ptr(), lib::NodeType::STORAGE, 0); } TEST_F(SplitOperationTest, simple) { @@ -56,7 +56,7 @@ TEST_F(SplitOperationTest, simple) { insertBucketInfo(document::BucketId(16, 1), 0, 0xabc, 1000, tooLargeBucketSize, 250); - SplitOperation op(&_Storage, + SplitOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(0)), maxSplitBits, @@ -125,7 +125,7 @@ TEST_F(SplitOperationTest, multi_node_failure) { enableDistributorClusterState("distributor:1 storage:2"); - SplitOperation op(&_Storage, + SplitOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), toVector<uint16_t>(0,1)), maxSplitBits, @@ -210,7 +210,7 @@ TEST_F(SplitOperationTest, copy_trusted_status_not_carried_over_after_split) { addNodesToBucketDB(sourceBucket, "0=150/20/30000000/t,1=450/50/60000/u," "2=550/60/70000"); - SplitOperation op(&_Storage, + SplitOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(sourceBucket), toVector<uint16_t>(0, 1)), maxSplitBits, splitCount, @@ -277,7 +277,7 @@ TEST_F(SplitOperationTest, operation_blocked_by_pending_join) { insertBucketInfo(joinTarget, 0, 0xabc, 1000, 1234, true); - SplitOperation op(&_Storage, + SplitOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(joinTarget), toVector<uint16_t>(0)), maxSplitBits, splitCount, @@ -290,7 +290,8 @@ TEST_F(SplitOperationTest, operation_blocked_by_pending_join) { tracker.clearMessagesForNode(0); EXPECT_FALSE(op.isBlocked(tracker, op_seq)); - joinCmd->setAddress(api::StorageMessageAddress::create(&_Storage, lib::NodeType::STORAGE, 1)); + joinCmd->setAddress(api::StorageMessageAddress::create(dummy_cluster_context.cluster_name_ptr(), + lib::NodeType::STORAGE, 1)); tracker.insert(joinCmd); EXPECT_TRUE(op.isBlocked(tracker, op_seq)); @@ -309,7 +310,7 @@ TEST_F(SplitOperationTest, split_is_blocked_by_locked_bucket) { document::BucketId source_bucket(16, 1); insertBucketInfo(source_bucket, 0, 0xabc, 1000, tooLargeBucketSize, 250); - SplitOperation op(&_Storage, BucketAndNodes(makeDocumentBucket(source_bucket), toVector<uint16_t>(0)), + SplitOperation op(dummy_cluster_context, BucketAndNodes(makeDocumentBucket(source_bucket), toVector<uint16_t>(0)), maxSplitBits, splitCount, splitByteSize); EXPECT_FALSE(op.isBlocked(tracker, op_seq)); |