diff options
Diffstat (limited to 'src/mongo/db/service_entry_point_common.cpp')
-rw-r--r-- | src/mongo/db/service_entry_point_common.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/service_entry_point_common.cpp b/src/mongo/db/service_entry_point_common.cpp index ae6652e9e63..fa04082b936 100644 --- a/src/mongo/db/service_entry_point_common.cpp +++ b/src/mongo/db/service_entry_point_common.cpp @@ -601,6 +601,10 @@ void execCommandDatabase(OperationContext* opCtx, auto& readConcernArgs = repl::ReadConcernArgs::get(opCtx); readConcernArgs = uassertStatusOK(_extractReadConcern(command, dbname, request.body)); + if (readConcernArgs.getLevel() == repl::ReadConcernLevel::kSnapshotReadConcern) { + opCtx->lockState()->setSharedLocksShouldTwoPhaseLock(true); + } + auto& oss = OperationShardingState::get(opCtx); if (!opCtx->getClient()->isInDirectClient() && |