summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/set_cluster_parameter_invocation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/commands/set_cluster_parameter_invocation.cpp')
-rw-r--r--src/mongo/db/commands/set_cluster_parameter_invocation.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/commands/set_cluster_parameter_invocation.cpp b/src/mongo/db/commands/set_cluster_parameter_invocation.cpp
index 4b04c491894..fb563b6ae6f 100644
--- a/src/mongo/db/commands/set_cluster_parameter_invocation.cpp
+++ b/src/mongo/db/commands/set_cluster_parameter_invocation.cpp
@@ -54,6 +54,10 @@ bool SetClusterParameterInvocation::invoke(OperationContext* opCtx,
StringData parameterName = cmdParamObj.firstElement().fieldName();
ServerParameter* serverParameter = _sps->get(parameterName);
+ uassert(ErrorCodes::BadValue,
+ str::stream() << "Server parameter: '" << serverParameter->name() << "' is disabled",
+ serverParameter->isEnabled());
+
auto [query, update] = normalizeParameter(
opCtx, cmdParamObj, paramTime, serverParameter, parameterName, cmd.getDbName().tenantId());
@@ -80,6 +84,10 @@ std::pair<BSONObj, BSONObj> SetClusterParameterInvocation::normalizeParameter(
"Cluster parameter value must be an object",
BSONType::Object == commandElement.type());
+ uassert(ErrorCodes::IllegalOperation,
+ str::stream() << "Server parameter: '" << sp->name() << "' is disabled",
+ sp->isEnabled());
+
Timestamp clusterTime = paramTime ? *paramTime : _dbService.getUpdateClusterTime(opCtx);
BSONObjBuilder updateBuilder;