summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Larkin-York <dan.larkin-york@mongodb.com>2021-12-01 15:24:53 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-12-01 16:20:46 +0000
commitd2939d2ce7e46094a5a151f55040a577fed9a3e6 (patch)
tree82f49d52bac883a28b2c8b1525b647ac11b42373
parent75304d9335578de7291e774b824995b6ef1898e1 (diff)
downloadmongo-d2939d2ce7e46094a5a151f55040a577fed9a3e6.tar.gz
SERVER-60621 Avoid global lock upgrade in some C++ tests
-rw-r--r--src/mongo/db/concurrency/d_concurrency_test.cpp4
-rw-r--r--src/mongo/db/free_mon/free_mon_storage_test.cpp4
-rw-r--r--src/mongo/db/storage/kv/storage_engine_test.cpp6
-rw-r--r--src/mongo/dbtests/query_stage_collscan.cpp1
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();