summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/s/metadata_manager_test.cpp32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/mongo/db/s/metadata_manager_test.cpp b/src/mongo/db/s/metadata_manager_test.cpp
index a0d355f5c19..f00577ed9ea 100644
--- a/src/mongo/db/s/metadata_manager_test.cpp
+++ b/src/mongo/db/s/metadata_manager_test.cpp
@@ -176,7 +176,25 @@ TEST_F(MetadataManagerTest, CleanUpForMigrateIn) {
ChunkRange range1(BSON("key" << 0), BSON("key" << 10));
ChunkRange range2(BSON("key" << 10), BSON("key" << 20));
- ChunkRange range3(BSON("key" << 20), BSON("key" << 30));
+
+ auto notif1 = _manager->beginReceive(range1);
+ ASSERT(!notif1.isReady());
+
+ auto notif2 = _manager->beginReceive(range2);
+ ASSERT(!notif2.isReady());
+
+ ASSERT_EQ(2UL, _manager->numberOfRangesToClean());
+ ASSERT_EQ(0UL, _manager->numberOfRangesToCleanStillInUse());
+}
+
+TEST_F(MetadataManagerTest, CleanUpForMigrateWithNonExistingCollection) {
+ _manager->setFilteringMetadata(makeEmptyMetadata());
+
+ // Sanity checks
+ ASSERT(_manager->getActiveMetadata(boost::none)->isSharded());
+ ASSERT_EQ(0UL, _manager->getActiveMetadata(boost::none)->getOwnedChunks().size());
+
+ ChunkRange range1(BSON("key" << 0), BSON("key" << 10));
{
FailPointEnableBlock fpb("suspendRangeDeletion");
@@ -185,18 +203,6 @@ TEST_F(MetadataManagerTest, CleanUpForMigrateIn) {
// This will hang if the range deletion task on the non-existing collection is scheduled
notif1.wait();
}
-
- CollectionOptions emptyCollOptions;
- ASSERT_OK(_storage->createCollection(operationContext(), kNss, emptyCollOptions));
-
- auto notif2 = _manager->beginReceive(range2);
- ASSERT(!notif2.isReady());
-
- auto notif3 = _manager->beginReceive(range3);
- ASSERT(!notif3.isReady());
-
- ASSERT_EQ(2UL, _manager->numberOfRangesToClean());
- ASSERT_EQ(0UL, _manager->numberOfRangesToCleanStillInUse());
}
TEST_F(MetadataManagerTest,