summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/run_aggregate.cpp
diff options
context:
space:
mode:
authorTommaso Tocci <tommaso.tocci@mongodb.com>2023-04-05 16:21:13 +0200
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-05 18:01:32 +0000
commitf2df94329a61c09fddeb8007b184b900be22b774 (patch)
treeff1fa08d9b396b7bb2c65624e939cc7492217797 /src/mongo/db/commands/run_aggregate.cpp
parentcd5efd2b01aa85b45901e192ad3e0320505e2f8d (diff)
downloadmongo-f2df94329a61c09fddeb8007b184b900be22b774.tar.gz
Revert "SERVER-66715 Add tenant lock"
This reverts commit b9d8a47872050ca5fe6c1b95fcb0534e6e0ebc3d.
Diffstat (limited to 'src/mongo/db/commands/run_aggregate.cpp')
-rw-r--r--src/mongo/db/commands/run_aggregate.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mongo/db/commands/run_aggregate.cpp b/src/mongo/db/commands/run_aggregate.cpp
index e08e6b09e30..c2f2701cd42 100644
--- a/src/mongo/db/commands/run_aggregate.cpp
+++ b/src/mongo/db/commands/run_aggregate.cpp
@@ -795,15 +795,19 @@ Status runAggregate(OperationContext* opCtx,
nss = NamespaceString::kRsOplogNamespace;
// In case of serverless the change stream will be opened on the change collection.
- const bool changeCollectionsMode =
- change_stream_serverless_helpers::isChangeCollectionsModeActive();
- if (changeCollectionsMode) {
+ if (change_stream_serverless_helpers::isChangeCollectionsModeActive()) {
const auto tenantId =
change_stream_serverless_helpers::resolveTenantId(origNss.tenantId());
uassert(ErrorCodes::BadValue,
"Change streams cannot be used without tenant id",
tenantId);
+
+ uassert(ErrorCodes::ChangeStreamNotEnabled,
+ "Change streams must be enabled before being used.",
+ change_stream_serverless_helpers::isChangeStreamEnabled(opCtx, *tenantId));
+
+
nss = NamespaceString::makeChangeCollectionNSS(tenantId);
}
@@ -842,11 +846,6 @@ Status runAggregate(OperationContext* opCtx,
// Obtain collection locks on the execution namespace; that is, the oplog.
initContext(auto_get_collection::ViewMode::kViewsForbidden);
registerTelemetry();
- uassert(ErrorCodes::ChangeStreamNotEnabled,
- "Change streams must be enabled before being used",
- !changeCollectionsMode ||
- change_stream_serverless_helpers::isChangeStreamEnabled(opCtx,
- *nss.tenantId()));
} else if (nss.isCollectionlessAggregateNS() && pipelineInvolvedNamespaces.empty()) {
uassert(4928901,
str::stream() << AggregateCommandRequest::kCollectionUUIDFieldName