summaryrefslogtreecommitdiff
path: root/src/mongo/s/request_types/configure_collection_balancing.idl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/request_types/configure_collection_balancing.idl')
-rw-r--r--src/mongo/s/request_types/configure_collection_balancing.idl85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/mongo/s/request_types/configure_collection_balancing.idl b/src/mongo/s/request_types/configure_collection_balancing.idl
new file mode 100644
index 00000000000..df63b44cffe
--- /dev/null
+++ b/src/mongo/s/request_types/configure_collection_balancing.idl
@@ -0,0 +1,85 @@
+# Copyright(C) 2021 - present MongoDB, Inc.
+#
+# This program is free software : you can redistribute it and / or modify
+# it under the terms of the Server Side Public License, version 1,
+# as published by MongoDB, Inc.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
+# Server Side Public License for more details.
+#
+# You should have received a copy of the Server Side Public License
+# along with this program.If not, see
+# < http://www.mongodb.com/licensing/server-side-public-license>.
+#
+# As a special exception, the copyright holders give permission to link the
+# code of portions of this program with the OpenSSL library under certain
+# conditions as described in each individual source file and distribute
+# linked combinations including the program with the OpenSSL library.You
+# must comply with the Server Side Public License in all respects for
+# all of the code used other than as permitted herein.If you modify file(s)
+# with this exception, you may extend this exception to your version of the
+# file(s), but you are not obligated to do so.If you do not wish to do so,
+# delete this exception statement from your version.If you delete this
+# exception statement from all source files in the program, then also delete
+# it in the license file.
+#
+
+# _configsvrConfigureCollectionBalancing and configureCollectionBalancing IDL File
+
+global:
+ cpp_namespace: "mongo"
+
+imports:
+ - "mongo/idl/basic_types.idl"
+
+feature_flags:
+ featureFlagPerCollBalancingSettings:
+ description: "Add capability to configure per collection balancing settings."
+ cpp_varname: feature_flags::gPerCollBalancingSettings
+ default: false
+
+structs:
+ configure_coll_balancing_params:
+ description: "Parameters for configureCollectionBalancing command"
+ fields:
+ chunkSize:
+ type: safeInt
+ cpp_name: chunkSizeMB
+ description: "New default chunk size in MiB, 0 will unset the collection specific chunk size."
+ optional: true
+ enableAutoSplitter:
+ type: bool
+ description: "Specifies whether the auto-splitter should be running or not for this collection."
+ optional: true
+ balancerShouldMergeChunks:
+ type: bool
+ description: "Tell the balancer to merge chunks until they reach the new default chunk size"
+ optional: true
+
+commands:
+ configureCollectionBalancing:
+ command_name: configureCollectionBalancing
+ cpp_name: ConfigureCollectionBalancing
+ description: "Public configureCollectionBalancing command on mongos"
+ strict: false
+ namespace: type
+ api_version: ""
+ reply_type: OkReply
+ type: namespacestring
+ chained_structs:
+ configure_coll_balancing_params:
+ cpp_name: CollBalancingParams
+
+ _configsvrConfigureCollectionBalancing:
+ command_name: _configsvrConfigureCollectionBalancing
+ cpp_name: ConfigsvrConfigureCollectionBalancing
+ description: "Internal configureCollectionBalancing command on the config server"
+ strict: true
+ namespace: type
+ api_version: ""
+ type: namespacestring
+ chained_structs:
+ configure_coll_balancing_params:
+ cpp_name: CollBalancingParams