diff options
author | Dan Larkin-York <dan.larkin-york@mongodb.com> | 2021-12-01 15:24:53 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-12-01 16:20:46 +0000 |
commit | d2939d2ce7e46094a5a151f55040a577fed9a3e6 (patch) | |
tree | 82f49d52bac883a28b2c8b1525b647ac11b42373 | |
parent | 75304d9335578de7291e774b824995b6ef1898e1 (diff) | |
download | mongo-d2939d2ce7e46094a5a151f55040a577fed9a3e6.tar.gz |
SERVER-60621 Avoid global lock upgrade in some C++ tests
-rw-r--r-- | src/mongo/db/concurrency/d_concurrency_test.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/free_mon/free_mon_storage_test.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/storage/kv/storage_engine_test.cpp | 6 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_collscan.cpp | 1 |
4 files changed, 8 insertions, 7 deletions
diff --git a/src/mongo/db/concurrency/d_concurrency_test.cpp b/src/mongo/db/concurrency/d_concurrency_test.cpp index dbb7c5a0c21..37c59d08b41 100644 --- a/src/mongo/db/concurrency/d_concurrency_test.cpp +++ b/src/mongo/db/concurrency/d_concurrency_test.cpp @@ -2052,7 +2052,7 @@ TEST_F(DConcurrencyTestFixture, TestGlobalLockAbandonsSnapshotWhenNotInWriteUnit ASSERT(recovUnitBorrowed->activeTransaction); { - Lock::GlobalLock gw2(opCtx, MODE_S, Date_t::now(), Lock::InterruptBehavior::kThrow); + Lock::GlobalLock gw2(opCtx, MODE_IS, Date_t::now(), Lock::InterruptBehavior::kThrow); ASSERT(gw2.isLocked()); ASSERT(recovUnitBorrowed->activeTransaction); } @@ -2078,7 +2078,7 @@ TEST_F(DConcurrencyTestFixture, TestGlobalLockDoesNotAbandonSnapshotWhenInWriteU ASSERT(recovUnitBorrowed->activeTransaction); { - Lock::GlobalLock gw2(opCtx, MODE_X, Date_t::now(), Lock::InterruptBehavior::kThrow); + Lock::GlobalLock gw2(opCtx, MODE_IX, Date_t::now(), Lock::InterruptBehavior::kThrow); ASSERT(gw2.isLocked()); ASSERT(recovUnitBorrowed->activeTransaction); } diff --git a/src/mongo/db/free_mon/free_mon_storage_test.cpp b/src/mongo/db/free_mon/free_mon_storage_test.cpp index 1049fcfae7b..06906389cdd 100644 --- a/src/mongo/db/free_mon/free_mon_storage_test.cpp +++ b/src/mongo/db/free_mon/free_mon_storage_test.cpp @@ -233,8 +233,8 @@ TEST_F(FreeMonStorageTest, TestSecondary) { void insertDoc(OperationContext* optCtx, const NamespaceString nss, StringData id) { auto storageInterface = repl::StorageInterface::get(optCtx); - Lock::DBLock dblk(optCtx, nss.db(), MODE_IS); - Lock::CollectionLock lk(optCtx, nss, MODE_IS); + Lock::DBLock dblk(optCtx, nss.db(), MODE_IX); + Lock::CollectionLock lk(optCtx, nss, MODE_IX); BSONObj fakeDoc = BSON("_id" << id); BSONElement elementKey = fakeDoc.firstElement(); diff --git a/src/mongo/db/storage/kv/storage_engine_test.cpp b/src/mongo/db/storage/kv/storage_engine_test.cpp index dd3f5714864..b45272f1b48 100644 --- a/src/mongo/db/storage/kv/storage_engine_test.cpp +++ b/src/mongo/db/storage/kv/storage_engine_test.cpp @@ -246,7 +246,7 @@ TEST_F(StorageEngineTimestampMonitorTest, TemporaryRecordStoreKeep) { TEST_F(StorageEngineTest, ReconcileUnfinishedIndex) { auto opCtx = cc().makeOperationContext(); - Lock::GlobalLock lk(&*opCtx, MODE_IS); + Lock::GlobalLock lk(&*opCtx, MODE_IX); const NamespaceString ns("db.coll1"); const std::string indexName("a_1"); @@ -285,7 +285,7 @@ TEST_F(StorageEngineTest, ReconcileUnfinishedIndex) { TEST_F(StorageEngineTest, ReconcileUnfinishedBackgroundSecondaryIndex) { auto opCtx = cc().makeOperationContext(); - Lock::GlobalLock lk(&*opCtx, MODE_IS); + Lock::GlobalLock lk(&*opCtx, MODE_IX); const NamespaceString ns("db.coll1"); const std::string indexName("a_1"); @@ -327,7 +327,7 @@ TEST_F(StorageEngineTest, ReconcileUnfinishedBackgroundSecondaryIndex) { TEST_F(StorageEngineTest, ReconcileTwoPhaseIndexBuilds) { auto opCtx = cc().makeOperationContext(); - Lock::GlobalLock lk(&*opCtx, MODE_IS); + Lock::GlobalLock lk(&*opCtx, MODE_IX); const NamespaceString ns("db.coll1"); const std::string indexA("a_1"); diff --git a/src/mongo/dbtests/query_stage_collscan.cpp b/src/mongo/dbtests/query_stage_collscan.cpp index 0895bb125f3..7eca1c0bfb2 100644 --- a/src/mongo/dbtests/query_stage_collscan.cpp +++ b/src/mongo/dbtests/query_stage_collscan.cpp @@ -751,6 +751,7 @@ TEST_F(QueryStageCollectionScanTest, QueryTestCollscanClusteredMinMaxDateExclusi auto scopedCollectionDeleter = createClusteredCollection(ns, false /* prePopulate */); + Lock::GlobalLock lk{&_opCtx, MODE_IX}; // avoid global lock upgrade during insertion AutoGetCollectionForRead autoColl(&_opCtx, ns); const CollectionPtr& coll = autoColl.getCollection(); |