summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/s/SConscript2
-rw-r--r--src/mongo/db/s/balancer/balancer.cpp2
-rw-r--r--src/mongo/db/s/config/configsvr_configure_collection_balancing.cpp (renamed from src/mongo/db/s/config/configsvr_configure_collection_auto_split.cpp)24
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager.h4
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp18
-rw-r--r--src/mongo/s/SConscript2
-rw-r--r--src/mongo/s/commands/SConscript2
-rw-r--r--src/mongo/s/commands/cluster_configure_collection_balancing.cpp (renamed from src/mongo/s/commands/cluster_configure_collection_auto_split.cpp)12
-rw-r--r--src/mongo/s/request_types/configure_collection_balancing.idl (renamed from src/mongo/s/request_types/configure_collection_auto_split.idl)42
-rw-r--r--src/mongo/shell/utils_sh.js9
10 files changed, 58 insertions, 59 deletions
diff --git a/src/mongo/db/s/SConscript b/src/mongo/db/s/SConscript
index ebf08d00653..9547a5bf866 100644
--- a/src/mongo/db/s/SConscript
+++ b/src/mongo/db/s/SConscript
@@ -299,7 +299,7 @@ env.Library(
'config/configsvr_clear_jumbo_flag_command.cpp',
'config/configsvr_commit_chunk_migration_command.cpp',
'config/configsvr_commit_reshard_collection_command.cpp',
- 'config/configsvr_configure_collection_auto_split.cpp',
+ 'config/configsvr_configure_collection_balancing.cpp',
'config/configsvr_control_balancer_command.cpp',
'config/configsvr_create_database_command.cpp',
'config/configsvr_ensure_chunk_version_is_greater_than_command.cpp',
diff --git a/src/mongo/db/s/balancer/balancer.cpp b/src/mongo/db/s/balancer/balancer.cpp
index 13b05118f31..0dd70a8e39a 100644
--- a/src/mongo/db/s/balancer/balancer.cpp
+++ b/src/mongo/db/s/balancer/balancer.cpp
@@ -59,7 +59,7 @@
#include "mongo/s/client/shard_registry.h"
#include "mongo/s/grid.h"
#include "mongo/s/request_types/balancer_collection_status_gen.h"
-#include "mongo/s/request_types/configure_collection_auto_split_gen.h"
+#include "mongo/s/request_types/configure_collection_balancing_gen.h"
#include "mongo/s/shard_util.h"
#include "mongo/util/concurrency/idle_thread_block.h"
#include "mongo/util/exit.h"
diff --git a/src/mongo/db/s/config/configsvr_configure_collection_auto_split.cpp b/src/mongo/db/s/config/configsvr_configure_collection_balancing.cpp
index b6ad5c4fe01..ca657e71053 100644
--- a/src/mongo/db/s/config/configsvr_configure_collection_auto_split.cpp
+++ b/src/mongo/db/s/config/configsvr_configure_collection_balancing.cpp
@@ -44,16 +44,16 @@
#include "mongo/db/s/shard_filtering_metadata_refresh.h"
#include "mongo/s/balancer_configuration.h"
#include "mongo/s/grid.h"
-#include "mongo/s/request_types/configure_collection_auto_split_gen.h"
+#include "mongo/s/request_types/configure_collection_balancing_gen.h"
#include "mongo/s/write_ops/batched_command_request.h"
namespace mongo {
namespace {
-class ConfigsvrConfigureAutoSplitCommand final
- : public TypedCommand<ConfigsvrConfigureAutoSplitCommand> {
+class ConfigsvrConfigureCollectionBalancingCmd final
+ : public TypedCommand<ConfigsvrConfigureCollectionBalancingCmd> {
public:
- using Request = ConfigsvrConfigureCollAutoSplit;
+ using Request = ConfigsvrConfigureCollectionBalancing;
class Invocation final : public InvocationBase {
public:
@@ -65,8 +65,8 @@ public:
serverGlobalParams.clusterRole == ClusterRole::ConfigServer);
uassert(8423309,
- "_configsvrConfigureAutoSplit command not supported",
- mongo::feature_flags::gShardingPerCollectionAutoSplitter.isEnabled(
+ str::stream() << Request::kCommandName << " command not supported",
+ mongo::feature_flags::gPerCollBalancingSettings.isEnabled(
serverGlobalParams.featureCompatibility));
const NamespaceString& nss = ns();
@@ -75,18 +75,18 @@ public:
str::stream() << "Invalid namespace specified '" << nss.ns() << "'",
nss.isValid());
- const auto maxChunkSizeBytes = [&]() -> boost::optional<int64_t> {
- if (request().getDefaultChunkSizeMB()) {
- return *request().getDefaultChunkSizeMB() * 1024 * 1024;
+ const auto chunkSizeBytes = [&]() -> boost::optional<int64_t> {
+ if (request().getChunkSizeMB()) {
+ return *request().getChunkSizeMB() * 1024 * 1024;
}
return boost::none;
}();
// throws if collection does not exist or parameters are invalid
- ShardingCatalogManager::get(opCtx)->configureCollectionAutoSplit(
+ ShardingCatalogManager::get(opCtx)->configureCollectionBalancing(
opCtx,
nss,
- maxChunkSizeBytes,
+ chunkSizeBytes,
request().getBalancerShouldMergeChunks(),
request().getEnableAutoSplitter());
}
@@ -127,7 +127,7 @@ public:
return AllowedOnSecondary::kNever;
}
-} configsvrConfigureAutoSplitCmd;
+} configsvrConfigureCollectionBalancingCmd;
} // namespace
} // namespace mongo
diff --git a/src/mongo/db/s/config/sharding_catalog_manager.h b/src/mongo/db/s/config/sharding_catalog_manager.h
index 870537a4fa8..954167be2d8 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager.h
+++ b/src/mongo/db/s/config/sharding_catalog_manager.h
@@ -413,9 +413,9 @@ public:
TxnNumber txnNumber);
- void configureCollectionAutoSplit(OperationContext* opCtx,
+ void configureCollectionBalancing(OperationContext* opCtx,
const NamespaceString& nss,
- boost::optional<int64_t> maxChunkSizeBytes,
+ boost::optional<int64_t> chunkSizeBytes,
boost::optional<bool> balancerShouldMergeChunks,
boost::optional<bool> enableAutoSplitter);
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
index 2851b944304..85d3a27fcb5 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_collection_operations.cpp
@@ -549,10 +549,10 @@ void ShardingCatalogManager::updateShardingCatalogEntryForCollectionInTxn(
}
-void ShardingCatalogManager::configureCollectionAutoSplit(
+void ShardingCatalogManager::configureCollectionBalancing(
OperationContext* opCtx,
const NamespaceString& nss,
- boost::optional<int64_t> maxChunkSizeBytes,
+ boost::optional<int64_t> chunkSizeBytes,
boost::optional<bool> balancerShouldMergeChunks,
boost::optional<bool> enableAutoSplitter) {
@@ -566,22 +566,22 @@ void ShardingCatalogManager::configureCollectionAutoSplit(
uassert(ErrorCodes::InvalidOptions,
"invalid collection auto splitter config update",
- maxChunkSizeBytes || balancerShouldMergeChunks || enableAutoSplitter);
+ chunkSizeBytes || balancerShouldMergeChunks || enableAutoSplitter);
short updatedFields = 0;
bool doMerge, doSplit = false;
BSONObjBuilder updateCmd;
{
BSONObjBuilder setBuilder(updateCmd.subobjStart("$set"));
- if (maxChunkSizeBytes && *maxChunkSizeBytes != 0) {
+ if (chunkSizeBytes && *chunkSizeBytes != 0) {
// verify we got a positive integer in range [1MB, 1GB]
uassert(ErrorCodes::InvalidOptions,
- str::stream() << "Chunk size '" << *maxChunkSizeBytes
+ str::stream() << "Chunk size '" << *chunkSizeBytes
<< "' out of range [1MB, 1GB]",
- *maxChunkSizeBytes > 0 &&
- ChunkSizeSettingsType::checkMaxChunkSizeValid(*maxChunkSizeBytes));
+ *chunkSizeBytes > 0 &&
+ ChunkSizeSettingsType::checkMaxChunkSizeValid(*chunkSizeBytes));
- setBuilder.append(CollectionType::kMaxChunkSizeBytesFieldName, *maxChunkSizeBytes);
+ setBuilder.append(CollectionType::kMaxChunkSizeBytesFieldName, *chunkSizeBytes);
updatedFields++;
}
if (balancerShouldMergeChunks) {
@@ -595,7 +595,7 @@ void ShardingCatalogManager::configureCollectionAutoSplit(
updatedFields++;
}
}
- if (maxChunkSizeBytes && *maxChunkSizeBytes == 0) {
+ if (chunkSizeBytes && *chunkSizeBytes == 0) {
BSONObjBuilder unsetBuilder(updateCmd.subobjStart("$unset"));
unsetBuilder.append(CollectionType::kMaxChunkSizeBytesFieldName, 0);
updatedFields++;
diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript
index 66ab7a5fd6d..af91ffcba89 100644
--- a/src/mongo/s/SConscript
+++ b/src/mongo/s/SConscript
@@ -191,7 +191,7 @@ env.Library(
'request_types/clone_collection_options_from_primary_shard.idl',
'request_types/commit_chunk_migration_request_type.cpp',
'request_types/commit_reshard_collection.idl',
- 'request_types/configure_collection_auto_split.idl',
+ 'request_types/configure_collection_balancing.idl',
'request_types/drop_collection_if_uuid_not_matching.idl',
'request_types/ensure_chunk_version_is_greater_than.idl',
'request_types/flush_database_cache_updates.idl',
diff --git a/src/mongo/s/commands/SConscript b/src/mongo/s/commands/SConscript
index c1ff6231b98..cc9c85d7601 100644
--- a/src/mongo/s/commands/SConscript
+++ b/src/mongo/s/commands/SConscript
@@ -156,7 +156,7 @@ env.Library(
'cluster_add_shard_to_zone_cmd.cpp',
'cluster_balancer_collection_status_cmd.cpp',
'cluster_clear_jumbo_flag_cmd.cpp',
- 'cluster_configure_collection_auto_split.cpp',
+ 'cluster_configure_collection_balancing.cpp',
'cluster_control_balancer_cmd.cpp',
'cluster_list_shards_cmd.cpp',
'cluster_merge_chunks_cmd.cpp',
diff --git a/src/mongo/s/commands/cluster_configure_collection_auto_split.cpp b/src/mongo/s/commands/cluster_configure_collection_balancing.cpp
index b2e06df45e1..0a95d50364e 100644
--- a/src/mongo/s/commands/cluster_configure_collection_auto_split.cpp
+++ b/src/mongo/s/commands/cluster_configure_collection_balancing.cpp
@@ -43,14 +43,14 @@
#include "mongo/idl/idl_parser.h"
#include "mongo/s/catalog_cache_loader.h"
#include "mongo/s/grid.h"
-#include "mongo/s/request_types/configure_collection_auto_split_gen.h"
+#include "mongo/s/request_types/configure_collection_balancing_gen.h"
namespace mongo {
namespace {
-class ConfigCollAutoSplitCmd final : public TypedCommand<ConfigCollAutoSplitCmd> {
+class ConfigCollectionBalancingCmd final : public TypedCommand<ConfigCollectionBalancingCmd> {
public:
- using Request = ConfigureCollAutoSplit;
+ using Request = ConfigureCollectionBalancing;
class Invocation final : public InvocationBase {
public:
@@ -62,8 +62,8 @@ public:
opCtx->setAlwaysInterruptAtStepDownOrUp();
const NamespaceString& nss = ns();
- ConfigsvrConfigureCollAutoSplit configsvrRequest(nss);
- configsvrRequest.setConfigureCollAutoSplit(request().getConfigureCollAutoSplit());
+ ConfigsvrConfigureCollectionBalancing configsvrRequest(nss);
+ configsvrRequest.setCollBalancingParams(request().getCollBalancingParams());
configsvrRequest.setDbName(request().getDbName());
auto configShard = Grid::get(opCtx)->shardRegistry()->getConfigShard();
@@ -113,7 +113,7 @@ public:
return AllowedOnSecondary::kNever;
}
-} configureCollectionAutoSplitCmd;
+} configureCollectionBalancingCmd;
} // namespace
} // namespace mongo
diff --git a/src/mongo/s/request_types/configure_collection_auto_split.idl b/src/mongo/s/request_types/configure_collection_balancing.idl
index 2fec90fa1cd..df63b44cffe 100644
--- a/src/mongo/s/request_types/configure_collection_auto_split.idl
+++ b/src/mongo/s/request_types/configure_collection_balancing.idl
@@ -26,7 +26,7 @@
# it in the license file.
#
-# _configsvrConfigureCollectionAutoSplitter and configureCollectionAutoSplitter IDL File
+# _configsvrConfigureCollectionBalancing and configureCollectionBalancing IDL File
global:
cpp_namespace: "mongo"
@@ -35,19 +35,19 @@ imports:
- "mongo/idl/basic_types.idl"
feature_flags:
- featureFlagPerCollectionAutoSplitter:
- description: "Add capability to configure per collection auto-splitter settings."
- cpp_varname: feature_flags::gShardingPerCollectionAutoSplitter
+ featureFlagPerCollBalancingSettings:
+ description: "Add capability to configure per collection balancing settings."
+ cpp_varname: feature_flags::gPerCollBalancingSettings
default: false
structs:
- configure_auto_split_params:
- description: "Parameters for configureCollectionAutoSplitter command"
+ configure_coll_balancing_params:
+ description: "Parameters for configureCollectionBalancing command"
fields:
- defaultChunkSize:
+ chunkSize:
type: safeInt
- cpp_name: defaultChunkSizeMB
- description: "New default chunk size in MB, 0 will unset the collection specific chunk size."
+ cpp_name: chunkSizeMB
+ description: "New default chunk size in MiB, 0 will unset the collection specific chunk size."
optional: true
enableAutoSplitter:
type: bool
@@ -59,27 +59,27 @@ structs:
optional: true
commands:
- configureAutoSplit:
- command_name: configureCollectionAutoSplitter
- cpp_name: ConfigureCollAutoSplit
- description: "Public configureCollectionAutoSplitter command on mongos"
+ 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_auto_split_params:
- cpp_name: ConfigureCollAutoSplit
+ configure_coll_balancing_params:
+ cpp_name: CollBalancingParams
- _configsvrConfigureAutoSplit:
- command_name: _configsvrConfigureAutoSplit
- cpp_name: ConfigsvrConfigureCollAutoSplit
- description: "Internal configureCollectionAutoSplitter command on the config server"
+ _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_auto_split_params:
- cpp_name: ConfigureCollAutoSplit
+ configure_coll_balancing_params:
+ cpp_name: CollBalancingParams
diff --git a/src/mongo/shell/utils_sh.js b/src/mongo/shell/utils_sh.js
index c549278e9e5..e28d99e7ee0 100644
--- a/src/mongo/shell/utils_sh.js
+++ b/src/mongo/shell/utils_sh.js
@@ -94,9 +94,8 @@ sh.help = function() {
print(
"\tsh.balancerCollectionStatus(fullName) " +
"returns wheter the specified collection is balanced or the balancer needs to take more actions on it");
- print(
- "\tsh.configureCollectionAutoSplitter(fullName, params) " +
- "configure both the default chunk size and the auto-splitting behaviour for a collection");
+ print("\tsh.configureCollectionBalancing(fullName, params) " +
+ "configure balancing settings for a specific collection");
};
sh.status = function(verbose, configDB) {
@@ -556,8 +555,8 @@ sh.balancerCollectionStatus = function(coll) {
return sh._adminCommand({balancerCollectionStatus: coll}, true);
};
-sh.configureCollectionAutoSplitter = function(coll) {
- let cmd = {configureCollectionAutoSplitter: coll};
+sh.configureCollectionBalancing = function(coll) {
+ let cmd = {configureCollectionBalancing: coll};
if (opts) {
cmd = Object.assign(cmd, opts);
}