summaryrefslogtreecommitdiff
path: root/src/mongo/db/session_test.cpp
diff options
context:
space:
mode:
authorXiangyu Yao <xiangyu.yao@mongodb.com>2018-06-07 16:12:49 -0400
committerXiangyu Yao <xiangyu.yao@mongodb.com>2018-06-08 14:57:12 -0400
commit2baf303830538053d3bfedaa99fec0c4b5e83cd8 (patch)
treec5eb4d7b5963a4aff0a2fe096276f08f3aba5737 /src/mongo/db/session_test.cpp
parente3b54eabd0be75461b521500ee251c152499d5b8 (diff)
downloadmongo-2baf303830538053d3bfedaa99fec0c4b5e83cd8.tar.gz
SERVER-35415 Increase default transaction lock acquisition timeout to 5 milliseconds
Diffstat (limited to 'src/mongo/db/session_test.cpp')
-rw-r--r--src/mongo/db/session_test.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/session_test.cpp b/src/mongo/db/session_test.cpp
index a7d64b0c52c..ae599a86d4e 100644
--- a/src/mongo/db/session_test.cpp
+++ b/src/mongo/db/session_test.cpp
@@ -577,7 +577,8 @@ TEST_F(SessionTest, ErrorOnlyWhenStmtIdBeingCheckedIsNotInCache) {
ASSERT_THROWS(session.checkStatementExecuted(opCtx(), txnNum, 2), AssertionException);
}
-// Test that transaction operations will abort if locks cannot be taken immediately.
+// Test that transaction lock acquisition times out in `maxTransactionLockRequestTimeoutMillis`
+// milliseconds.
TEST_F(SessionTest, TransactionThrowsLockTimeoutIfLockIsUnavailable) {
const std::string dbName = "TestDB";
@@ -622,8 +623,12 @@ TEST_F(SessionTest, TransactionThrowsLockTimeoutIfLockIsUnavailable) {
newSession.beginOrContinueTxn(newOpCtx.get(), newTxnNum, false, true, "testDB", "insert");
newSession.unstashTransactionResources(newOpCtx.get(), "insert");
+ Date_t t1 = Date_t::now();
ASSERT_THROWS_CODE(
Lock::DBLock(newOpCtx.get(), dbName, MODE_X), AssertionException, ErrorCodes::LockTimeout);
+ Date_t t2 = Date_t::now();
+ int defaultMaxTransactionLockRequestTimeoutMillis = 5;
+ ASSERT_GTE(t2 - t1, Milliseconds(defaultMaxTransactionLockRequestTimeoutMillis));
// A non-conflicting lock acquisition should work just fine.
{ Lock::DBLock(newOpCtx.get(), "NewTestDB", MODE_X); }