diff options
author | Gabriel Marks <gabriel.marks@mongodb.com> | 2022-10-21 17:00:26 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-10-21 17:34:36 +0000 |
commit | 916753069a2d1b0fda32eadf83b9006b9d09b906 (patch) | |
tree | f4e32b18df0038d6afa5ed246fc6cabad84ad325 /docs | |
parent | ba447fc286f908ce175046b1b9d3068f06167b88 (diff) | |
download | mongo-916753069a2d1b0fda32eadf83b9006b9d09b906.tar.gz |
SERVER-66158 Update architecture guide for Serverless Cluster Parameters
Diffstat (limited to 'docs')
-rw-r--r-- | docs/server-parameters.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/server-parameters.md b/docs/server-parameters.md index 3e37f97cdf0..3e58b2edd67 100644 --- a/docs/server-parameters.md +++ b/docs/server-parameters.md @@ -194,6 +194,10 @@ Lastly, a `setFromString` method must always be provided with the following sign Status {name}::setFromString(StringData value, const boost::optional<TenantId>& tenantId); ``` +Note that by default, server parameters are not tenant aware and thus will always have `boost::none` +provided as `tenantId`, unless defined as cluster server parameters (discussed +[below](#cluster-server-parameters)). + Each server parameter encountered will produce a block of code to run at process startup similar to the following: ```cpp @@ -275,6 +279,14 @@ the current version of the cluster server parameter. * `reset()` must be implemented and should update the cluster server parameter back to its default value. +All cluster server parameters are tenant-aware, meaning that on serverless clusters, each tenant has +an isolated set of parameters. The `setClusterParameter` and `getClusterParameter` commands will pass +the `tenantId` on the command request to the `ServerParameter`'s methods. On dedicated +(non-serverless) clusters, `boost::none` will be passed. IDL-defined cluster server parameters will +handle the passed-in `tenantId` automatically and store separate parameter values per-tenant. +Specialized server parameters will have to take care to correctly handle the passed-in `tenantId` and +to enforce tenant isolation. + See [server_parameter_specialized_test.idl][specialized-cluster-server-param-test-idl] and [server_parameter_specialized_test.h][specialized-cluster-server-param-test-data] for examples. |