diff options
author | Allison Easton <allison.easton@mongodb.com> | 2021-10-11 06:54:47 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-11 07:42:47 +0000 |
commit | 4aee6e6977d61ceebfdc9f8144e2840d0fab4e40 (patch) | |
tree | c21a28b38f76df1c03451bef7b83db97e9e461e4 | |
parent | c540a205558830d6a2ec7147a004516f741b6e23 (diff) | |
download | mongo-4aee6e6977d61ceebfdc9f8144e2840d0fab4e40.tar.gz |
SERVER-60552 Separate test for non-existing collection in metadata_manager_test
-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, |