summaryrefslogtreecommitdiff
path: root/src/mongo/db/logical_session_cache_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/logical_session_cache_impl.cpp')
-rw-r--r--src/mongo/db/logical_session_cache_impl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/logical_session_cache_impl.cpp b/src/mongo/db/logical_session_cache_impl.cpp
index 43f800c6820..2fcb2654c90 100644
--- a/src/mongo/db/logical_session_cache_impl.cpp
+++ b/src/mongo/db/logical_session_cache_impl.cpp
@@ -43,6 +43,7 @@
#include "mongo/logv2/log.h"
#include "mongo/logv2/log_severity_suppressor.h"
#include "mongo/platform/atomic_word.h"
+#include "mongo/s/is_mongos.h"
#include "mongo/util/duration.h"
#include "mongo/util/scopeguard.h"
@@ -100,6 +101,9 @@ Status LogicalSessionCacheImpl::vivify(OperationContext* opCtx, const LogicalSes
"Internal transactions are not enabled",
feature_flags::gFeatureFlagInternalTransactions.isEnabled(
serverGlobalParams.featureCompatibility));
+ uassert(ErrorCodes::InvalidOptions,
+ "Internal transactions are only supported in sharded clusters",
+ isMongos() || serverGlobalParams.clusterRole != ClusterRole::None);
}
stdx::lock_guard lg(_mutex);