summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorYu Jin Kang Park <yujin.kang@mongodb.com>2022-06-03 09:32:59 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-06-03 10:18:08 +0000
commit9aafbc13112e03e9aa6889b0fb754adaac8d1e84 (patch)
tree5e1f6ec3b304e430619663ef8c5ac13f3211b78a /src/mongo
parentd609d0a9a85c19416a95b537aaaba02f3c89032c (diff)
downloadmongo-9aafbc13112e03e9aa6889b0fb754adaac8d1e84.tar.gz
SERVER-66609: Avoid global lock upgrade within storage_timestamp_test.cpp
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/repl/storage_timestamp_test.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mongo/db/repl/storage_timestamp_test.cpp b/src/mongo/db/repl/storage_timestamp_test.cpp
index 467fa99b314..cc0f88d0779 100644
--- a/src/mongo/db/repl/storage_timestamp_test.cpp
+++ b/src/mongo/db/repl/storage_timestamp_test.cpp
@@ -1079,6 +1079,7 @@ TEST_F(StorageTimestampTest, SecondaryAtomicApplyOps) {
NamespaceString nss("unittests.insertToUpsert");
create(nss);
+ Lock::GlobalWrite lk{_opCtx}; // avoid global lock upgrade during applyOps.
AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
// Reserve a timestamp before the inserts should happen.
@@ -1128,6 +1129,7 @@ TEST_F(StorageTimestampTest, SecondaryAtomicApplyOpsWCEToNonAtomic) {
NamespaceString nss("unitteTsts.insertToUpsert");
create(nss);
+ Lock::GlobalWrite lk{_opCtx}; // avoid global lock upgrade during applyOps.
AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const LogicalTime preInsertTimestamp = _clock->tickClusterTime(1);
@@ -1260,6 +1262,7 @@ TEST_F(StorageTimestampTest, SecondaryCreateCollectionBetweenInserts) {
{
create(nss1);
+ Lock::GlobalWrite lk{_opCtx}; // avoid global lock upgrade during applyOps.
AutoGetCollection autoColl(_opCtx, nss1, LockMode::MODE_IX);
ASSERT_OK(repl::StorageInterface::get(_opCtx)->dropCollection(_opCtx, nss2));
@@ -3436,7 +3439,7 @@ public:
txnParticipant.stashTransactionResources(_opCtx);
{
- AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IS);
+ AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const auto& coll = autoColl.getCollection();
assertDocumentAtTimestamp(coll, presentTs, BSONObj());
assertDocumentAtTimestamp(coll, beforeTxnTs, BSONObj());
@@ -3644,7 +3647,7 @@ TEST_F(MultiDocumentTransactionTest, CommitPreparedMultiOplogEntryTransaction) {
const auto prepareFilter = BSON("ts" << prepareEntryTs);
const auto commitFilter = BSON("ts" << commitEntryTs);
{
- AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IS);
+ AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const auto& coll = autoColl.getCollection();
assertDocumentAtTimestamp(coll, presentTs, BSONObj());
assertDocumentAtTimestamp(coll, beforeTxnTs, BSONObj());
@@ -3685,7 +3688,7 @@ TEST_F(MultiDocumentTransactionTest, CommitPreparedMultiOplogEntryTransaction) {
txnParticipant.stashTransactionResources(_opCtx);
{
- AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IS);
+ AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const auto& coll = autoColl.getCollection();
assertDocumentAtTimestamp(coll, presentTs, BSONObj());
assertDocumentAtTimestamp(coll, beforeTxnTs, BSONObj());
@@ -3922,7 +3925,7 @@ TEST_F(MultiDocumentTransactionTest, PreparedMultiDocumentTransaction) {
logTimestamps();
{
- AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IS);
+ AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const auto& coll = autoColl.getCollection();
assertDocumentAtTimestamp(coll, prepareTs, BSONObj());
assertDocumentAtTimestamp(coll, commitEntryTs, BSONObj());
@@ -4018,7 +4021,7 @@ TEST_F(MultiDocumentTransactionTest, AbortedPreparedMultiDocumentTransaction) {
logTimestamps();
{
- AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IS);
+ AutoGetCollection autoColl(_opCtx, nss, LockMode::MODE_IX);
const auto& coll = autoColl.getCollection();
assertDocumentAtTimestamp(coll, prepareTs, BSONObj());
assertDocumentAtTimestamp(coll, abortEntryTs, BSONObj());