diff options
-rw-r--r-- | src/mongo/db/s/metadata_manager_test.cpp | 32 |
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, |