summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/metadata_manager_test.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-06-25 09:36:06 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-06-26 09:50:20 -0400
commit2aa65a86193e5d38934a4f2d6b0a8298e2432485 (patch)
treef3819f52b87366918bf18d40b4e8c8b19d8a85a8 /src/mongo/db/s/metadata_manager_test.cpp
parentb2cbb83011c68aa44242bc4737cca1e6951e8796 (diff)
downloadmongo-2aa65a86193e5d38934a4f2d6b0a8298e2432485.tar.gz
SERVER-35773 Remove references to the CatalogCache from MetadataManager
Diffstat (limited to 'src/mongo/db/s/metadata_manager_test.cpp')
-rw-r--r--src/mongo/db/s/metadata_manager_test.cpp52
1 files changed, 29 insertions, 23 deletions
diff --git a/src/mongo/db/s/metadata_manager_test.cpp b/src/mongo/db/s/metadata_manager_test.cpp
index ae3abb31ef7..5f5f5ddbc7a 100644
--- a/src/mongo/db/s/metadata_manager_test.cpp
+++ b/src/mongo/db/s/metadata_manager_test.cpp
@@ -112,7 +112,7 @@ protected:
v2.incMajor();
auto v3 = v2;
v3.incMajor();
- auto rt = cm->getRoutingHistory().makeUpdated(
+ auto rt = cm->getRoutingHistory()->makeUpdated(
{ChunkType{kNss, ChunkRange{chunkToSplit.getMin(), minKey}, v1, kOtherShard},
ChunkType{kNss, ChunkRange{minKey, maxKey}, v2, kThisShard},
ChunkType{kNss, ChunkRange{maxKey, chunkToSplit.getMax()}, v3, kOtherShard}});
@@ -122,7 +122,7 @@ protected:
}
CollectionMetadata* addChunk(std::shared_ptr<MetadataManager>& manager) {
- ScopedCollectionMetadata scopedMetadata1 = manager->getActiveMetadata(manager);
+ ScopedCollectionMetadata scopedMetadata1 = manager->getActiveMetadata(manager, boost::none);
std::unique_ptr<CollectionMetadata> cm2 = cloneMetadataPlusChunk(
*scopedMetadata1.getMetadata(), BSON("key" << 0), BSON("key" << 20));
@@ -178,19 +178,19 @@ TEST_F(MetadataManagerTest, NotificationBlocksUntilDeletion) {
ASSERT_EQ(_manager->numberOfMetadataSnapshots(), 0UL);
ASSERT_EQ(_manager->numberOfRangesToClean(), 0UL);
- auto scm1 = _manager->getActiveMetadata(_manager); // and increment refcount
+ auto scm1 = _manager->getActiveMetadata(_manager, boost::none); // and increment refcount
ASSERT_TRUE(bool(scm1));
ASSERT_EQ(0ULL, scm1->getChunks().size());
- addChunk(_manager); // push new metadata
- auto scm2 = _manager->getActiveMetadata(_manager); // and increment refcount
+ addChunk(_manager); // push new metadata
+ auto scm2 = _manager->getActiveMetadata(_manager, boost::none); // and increment refcount
ASSERT_EQ(1ULL, scm2->getChunks().size());
// this is here solely to pacify an invariant in addChunk
_manager->refreshActiveMetadata(makeEmptyMetadata());
- addChunk(_manager); // push new metadata
- auto scm3 = _manager->getActiveMetadata(_manager); // and increment refcount
+ addChunk(_manager); // push new metadata
+ auto scm3 = _manager->getActiveMetadata(_manager, boost::none); // and increment refcount
ASSERT_EQ(1ULL, scm3->getChunks().size());
auto overlaps = _manager->overlappingMetadata(
@@ -222,11 +222,13 @@ TEST_F(MetadataManagerTest, NotificationBlocksUntilDeletion) {
TEST_F(MetadataManagerTest, RefreshAfterSuccessfulMigrationSinglePending) {
_manager->refreshActiveMetadata(makeEmptyMetadata());
const ChunkRange cr1(BSON("key" << 0), BSON("key" << 10));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 0UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 0UL);
- _manager->refreshActiveMetadata(cloneMetadataPlusChunk(
- *_manager->getActiveMetadata(_manager).getMetadata(), cr1.getMin(), cr1.getMax()));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 1UL);
+ _manager->refreshActiveMetadata(
+ cloneMetadataPlusChunk(*_manager->getActiveMetadata(_manager, boost::none).getMetadata(),
+ cr1.getMin(),
+ cr1.getMax()));
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 1UL);
}
@@ -235,19 +237,23 @@ TEST_F(MetadataManagerTest, RefreshAfterSuccessfulMigrationMultiplePending) {
const ChunkRange cr1(BSON("key" << 0), BSON("key" << 10));
const ChunkRange cr2(BSON("key" << 30), BSON("key" << 40));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 0UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 0UL);
{
_manager->refreshActiveMetadata(cloneMetadataPlusChunk(
- *_manager->getActiveMetadata(_manager).getMetadata(), cr1.getMin(), cr1.getMax()));
+ *_manager->getActiveMetadata(_manager, boost::none).getMetadata(),
+ cr1.getMin(),
+ cr1.getMax()));
ASSERT_EQ(_manager->numberOfRangesToClean(), 0UL);
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 1UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 1UL);
}
{
_manager->refreshActiveMetadata(cloneMetadataPlusChunk(
- *_manager->getActiveMetadata(_manager).getMetadata(), cr2.getMin(), cr2.getMax()));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 2UL);
+ *_manager->getActiveMetadata(_manager, boost::none).getMetadata(),
+ cr2.getMin(),
+ cr2.getMax()));
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 2UL);
}
}
@@ -256,13 +262,13 @@ TEST_F(MetadataManagerTest, RefreshAfterNotYetCompletedMigrationMultiplePending)
const ChunkRange cr1(BSON("key" << 0), BSON("key" << 10));
const ChunkRange cr2(BSON("key" << 30), BSON("key" << 40));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 0UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 0UL);
_manager->refreshActiveMetadata(
- cloneMetadataPlusChunk(*_manager->getActiveMetadata(_manager).getMetadata(),
+ cloneMetadataPlusChunk(*_manager->getActiveMetadata(_manager, boost::none).getMetadata(),
BSON("key" << 50),
BSON("key" << 60)));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 1UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 1UL);
}
TEST_F(MetadataManagerTest, BeginReceiveWithOverlappingRange) {
@@ -272,14 +278,14 @@ TEST_F(MetadataManagerTest, BeginReceiveWithOverlappingRange) {
const ChunkRange cr2(BSON("key" << 30), BSON("key" << 40));
const ChunkRange crOverlap(BSON("key" << 5), BSON("key" << 35));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 0UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 0UL);
}
TEST_F(MetadataManagerTest, RefreshMetadataAfterDropAndRecreate) {
_manager->refreshActiveMetadata(makeEmptyMetadata());
{
- auto metadata = _manager->getActiveMetadata(_manager);
+ auto metadata = _manager->getActiveMetadata(_manager, boost::none);
_manager->refreshActiveMetadata(
cloneMetadataPlusChunk(*metadata.getMetadata(), BSON("key" << 0), BSON("key" << 10)));
}
@@ -288,9 +294,9 @@ TEST_F(MetadataManagerTest, RefreshMetadataAfterDropAndRecreate) {
auto recreateMetadata = makeEmptyMetadata();
_manager->refreshActiveMetadata(
cloneMetadataPlusChunk(*recreateMetadata, BSON("key" << 20), BSON("key" << 30)));
- ASSERT_EQ(_manager->getActiveMetadata(_manager)->getChunks().size(), 1UL);
+ ASSERT_EQ(_manager->getActiveMetadata(_manager, boost::none)->getChunks().size(), 1UL);
- const auto chunks = _manager->getActiveMetadata(_manager)->getChunks();
+ const auto chunks = _manager->getActiveMetadata(_manager, boost::none)->getChunks();
const auto chunkEntry = chunks.begin();
ASSERT_BSONOBJ_EQ(BSON("key" << 20), chunkEntry->first);
ASSERT_BSONOBJ_EQ(BSON("key" << 30), chunkEntry->second);