diff options
author | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-11-13 19:33:45 -0500 |
---|---|---|
committer | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-11-17 16:01:19 -0500 |
commit | 97af8701b538754261e566b26fa22cb4b54710f3 (patch) | |
tree | 1326cc7af7e461f5689f5c6c52e857c0a9de01ba /src/mongo/db/initialize_operation_session_info.cpp | |
parent | 69a17fc7d0546651c4229f246292086982441346 (diff) | |
download | mongo-97af8701b538754261e566b26fa22cb4b54710f3.tar.gz |
SERVER-31941 Disallow retryable writes in storage engines that do not support document-level locking
Diffstat (limited to 'src/mongo/db/initialize_operation_session_info.cpp')
-rw-r--r-- | src/mongo/db/initialize_operation_session_info.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mongo/db/initialize_operation_session_info.cpp b/src/mongo/db/initialize_operation_session_info.cpp index b4eb785e2c5..9db8ab8c0c8 100644 --- a/src/mongo/db/initialize_operation_session_info.cpp +++ b/src/mongo/db/initialize_operation_session_info.cpp @@ -42,7 +42,8 @@ namespace mongo { void initializeOperationSessionInfo(OperationContext* opCtx, const BSONObj& requestBody, bool requiresAuth, - bool canAcceptTxnNumber) { + bool isReplSetMemberOrMongos, + bool supportsDocLocking) { if (!requiresAuth) { return; } @@ -85,7 +86,11 @@ void initializeOperationSessionInfo(OperationContext* opCtx, opCtx->getLogicalSessionId()); uassert(ErrorCodes::IllegalOperation, "Transaction numbers are only allowed on a replica set member or mongos", - canAcceptTxnNumber); + isReplSetMemberOrMongos); + uassert(ErrorCodes::IllegalOperation, + "Transaction numbers are only allowed on storage engines that support " + "document-level locking", + supportsDocLocking); uassert(ErrorCodes::BadValue, "Transaction number cannot be negative", *osi.getTxnNumber() >= 0); |