diff options
author | Alexander Ignatyev <alexander.ignatyev@mongodb.com> | 2021-10-12 13:52:08 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-12 14:32:20 +0000 |
commit | 21a99fea6099eb8c9a2d9974dab755b0b103f559 (patch) | |
tree | f368d98d2a6e6b806ed6befee2457d26ac3f0a0f /src | |
parent | d34e31b1cec0d4d672b5dab3e4e6697dad91bc92 (diff) | |
download | mongo-21a99fea6099eb8c9a2d9974dab755b0b103f559.tar.gz |
SERVER-60070 Add planCacheSize parameter validation
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/query/plan_cache_size_parameter.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/query/plan_cache_size_parameter.h | 5 | ||||
-rw-r--r-- | src/mongo/db/query/query_knobs.idl | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/mongo/db/query/plan_cache_size_parameter.cpp b/src/mongo/db/query/plan_cache_size_parameter.cpp index e79a2646673..46302c8334e 100644 --- a/src/mongo/db/query/plan_cache_size_parameter.cpp +++ b/src/mongo/db/query/plan_cache_size_parameter.cpp @@ -93,6 +93,10 @@ Status onPlanCacheSizeUpdate(const std::string& str) { return Status::OK(); } +Status validatePlanCacheSize(const std::string& str) { + return PlanCacheSizeParameter::parse(str).getStatus(); +} + const Decorable<ServiceContext>::Decoration<std::unique_ptr<PlanCacheSizeUpdater>> sbePlanCacheSizeUpdaterDecoration = ServiceContext::declareDecoration<std::unique_ptr<PlanCacheSizeUpdater>>(); diff --git a/src/mongo/db/query/plan_cache_size_parameter.h b/src/mongo/db/query/plan_cache_size_parameter.h index 0bfe0b9cab1..ae3968e17e7 100644 --- a/src/mongo/db/query/plan_cache_size_parameter.h +++ b/src/mongo/db/query/plan_cache_size_parameter.h @@ -63,6 +63,11 @@ struct PlanCacheSizeParameter { Status onPlanCacheSizeUpdate(const std::string& str); /** + * Callback called on validation of planCacheSize parameter. + */ +Status validatePlanCacheSize(const std::string& str); + +/** * Encapsulates a callback function used to update the PlanCache size when the planCacheSize * parameter is updated. */ diff --git a/src/mongo/db/query/query_knobs.idl b/src/mongo/db/query/query_knobs.idl index 3de5c9d773e..bd2b761be35 100644 --- a/src/mongo/db/query/query_knobs.idl +++ b/src/mongo/db/query/query_knobs.idl @@ -151,7 +151,9 @@ server_parameters: cpp_vartype: synchronized_value<std::string> default: "5%" on_update: plan_cache_util::onPlanCacheSizeUpdate - + validator: + callback: plan_cache_util::validatePlanCacheSize + # # Parsing # |