summaryrefslogtreecommitdiff
path: root/src/mongo/s/commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/commands')
-rw-r--r--src/mongo/s/commands/cluster_add_shard_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_available_query_options_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_compact_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_control_balancer_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_count_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_db_stats_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_drop_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_drop_database_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_enable_sharding_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_explain_cmd.cpp8
-rw-r--r--src/mongo/s/commands/cluster_find_and_modify_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_find_cmd.cpp8
-rw-r--r--src/mongo/s/commands/cluster_flush_router_config_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_fsync_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_ftdc_commands.cpp4
-rw-r--r--src/mongo/s/commands/cluster_get_last_error_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_get_prev_error_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_get_shard_map_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_get_shard_version_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_getmore_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_index_filter_cmd.cpp9
-rw-r--r--src/mongo/s/commands/cluster_is_db_grid_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_is_master_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_kill_op.cpp4
-rw-r--r--src/mongo/s/commands/cluster_list_databases_cmd.cpp8
-rw-r--r--src/mongo/s/commands/cluster_list_shards_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_map_reduce_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_merge_chunks_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_move_chunk_cmd.cpp5
-rw-r--r--src/mongo/s/commands/cluster_move_primary_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_multicast.cpp5
-rw-r--r--src/mongo/s/commands/cluster_netstat_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_pipeline_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_plan_cache_cmd.cpp8
-rw-r--r--src/mongo/s/commands/cluster_profile_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_remove_shard_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_repl_set_get_status_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_reset_error_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_restart_catalog_command.cpp4
-rw-r--r--src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_shard_collection_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_split_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_user_management_commands.cpp92
-rw-r--r--src/mongo/s/commands/cluster_whats_my_uri_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_write_cmd.cpp4
-rw-r--r--src/mongo/s/commands/commands_public.cpp20
49 files changed, 140 insertions, 183 deletions
diff --git a/src/mongo/s/commands/cluster_add_shard_cmd.cpp b/src/mongo/s/commands/cluster_add_shard_cmd.cpp
index 56cdf9650ab..df13a652f37 100644
--- a/src/mongo/s/commands/cluster_add_shard_cmd.cpp
+++ b/src/mongo/s/commands/cluster_add_shard_cmd.cpp
@@ -56,8 +56,8 @@ class AddShardCmd : public BasicCommand {
public:
AddShardCmd() : BasicCommand("addShard", "addshard") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp b/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
index e82e6bc0817..419ca7e2a0e 100644
--- a/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
+++ b/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
@@ -69,8 +69,8 @@ class AddShardToZoneCmd : public BasicCommand {
public:
AddShardToZoneCmd() : BasicCommand("addShardToZone", "addshardtozone") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_available_query_options_cmd.cpp b/src/mongo/s/commands/cluster_available_query_options_cmd.cpp
index d209c2ace34..8eccb031358 100644
--- a/src/mongo/s/commands/cluster_available_query_options_cmd.cpp
+++ b/src/mongo/s/commands/cluster_available_query_options_cmd.cpp
@@ -39,8 +39,8 @@ class AvailableQueryOptions : public BasicCommand {
public:
AvailableQueryOptions() : BasicCommand("availableQueryOptions", "availablequeryoptions") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool supportsWriteConcern(const BSONObj& cmd) const override {
diff --git a/src/mongo/s/commands/cluster_compact_cmd.cpp b/src/mongo/s/commands/cluster_compact_cmd.cpp
index 3d933804c49..d5fd03ae39a 100644
--- a/src/mongo/s/commands/cluster_compact_cmd.cpp
+++ b/src/mongo/s/commands/cluster_compact_cmd.cpp
@@ -37,8 +37,8 @@ class CompactCmd : public BasicCommand {
public:
CompactCmd() : BasicCommand("compact") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_control_balancer_cmd.cpp b/src/mongo/s/commands/cluster_control_balancer_cmd.cpp
index 11e05a559d0..5a60b6bb8d8 100644
--- a/src/mongo/s/commands/cluster_control_balancer_cmd.cpp
+++ b/src/mongo/s/commands/cluster_control_balancer_cmd.cpp
@@ -50,8 +50,8 @@ public:
_configsvrCommandName(configsvrCommandName),
_authorizationAction(authorizationAction) {}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_count_cmd.cpp b/src/mongo/s/commands/cluster_count_cmd.cpp
index f05f349982c..2c407b61005 100644
--- a/src/mongo/s/commands/cluster_count_cmd.cpp
+++ b/src/mongo/s/commands/cluster_count_cmd.cpp
@@ -51,8 +51,8 @@ class ClusterCountCmd : public ErrmsgCommandDeprecated {
public:
ClusterCountCmd() : ErrmsgCommandDeprecated("count") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_db_stats_cmd.cpp b/src/mongo/s/commands/cluster_db_stats_cmd.cpp
index 1d74af4d1e7..35a24f7d81d 100644
--- a/src/mongo/s/commands/cluster_db_stats_cmd.cpp
+++ b/src/mongo/s/commands/cluster_db_stats_cmd.cpp
@@ -44,8 +44,8 @@ class DBStatsCmd : public ErrmsgCommandDeprecated {
public:
DBStatsCmd() : ErrmsgCommandDeprecated("dbStats", "dbstats") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
return false;
diff --git a/src/mongo/s/commands/cluster_drop_cmd.cpp b/src/mongo/s/commands/cluster_drop_cmd.cpp
index 6a8081c20c2..a77abe079a6 100644
--- a/src/mongo/s/commands/cluster_drop_cmd.cpp
+++ b/src/mongo/s/commands/cluster_drop_cmd.cpp
@@ -45,8 +45,8 @@ class DropCmd : public BasicCommand {
public:
DropCmd() : BasicCommand("drop") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_drop_database_cmd.cpp b/src/mongo/s/commands/cluster_drop_database_cmd.cpp
index da0380565eb..207db3d3c0d 100644
--- a/src/mongo/s/commands/cluster_drop_database_cmd.cpp
+++ b/src/mongo/s/commands/cluster_drop_database_cmd.cpp
@@ -46,8 +46,8 @@ class DropDatabaseCmd : public BasicCommand {
public:
DropDatabaseCmd() : BasicCommand("dropDatabase") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_enable_sharding_cmd.cpp b/src/mongo/s/commands/cluster_enable_sharding_cmd.cpp
index 77bdbbb6681..1869632ef68 100644
--- a/src/mongo/s/commands/cluster_enable_sharding_cmd.cpp
+++ b/src/mongo/s/commands/cluster_enable_sharding_cmd.cpp
@@ -52,8 +52,8 @@ class EnableShardingCmd : public ErrmsgCommandDeprecated {
public:
EnableShardingCmd() : ErrmsgCommandDeprecated("enableSharding", "enablesharding") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_explain_cmd.cpp b/src/mongo/s/commands/cluster_explain_cmd.cpp
index b734501ab36..3f435329d75 100644
--- a/src/mongo/s/commands/cluster_explain_cmd.cpp
+++ b/src/mongo/s/commands/cluster_explain_cmd.cpp
@@ -61,12 +61,8 @@ public:
/**
* Running an explain on a secondary requires explicitly setting slaveOk.
*/
- virtual bool slaveOk() const {
- return false;
- }
-
- virtual bool slaveOverrideOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
virtual bool maintenanceOk() const {
diff --git a/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp b/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp
index 90b5665e6a0..922d271e870 100644
--- a/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp
+++ b/src/mongo/s/commands/cluster_find_and_modify_cmd.cpp
@@ -78,8 +78,8 @@ class FindAndModifyCmd : public BasicCommand {
public:
FindAndModifyCmd() : BasicCommand("findAndModify", "findandmodify") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_find_cmd.cpp b/src/mongo/s/commands/cluster_find_cmd.cpp
index 9c8adb1a64b..8b53c5b6f6b 100644
--- a/src/mongo/s/commands/cluster_find_cmd.cpp
+++ b/src/mongo/s/commands/cluster_find_cmd.cpp
@@ -65,12 +65,8 @@ public:
return false;
}
- bool slaveOk() const final {
- return false;
- }
-
- bool slaveOverrideOk() const final {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
bool maintenanceOk() const final {
diff --git a/src/mongo/s/commands/cluster_flush_router_config_cmd.cpp b/src/mongo/s/commands/cluster_flush_router_config_cmd.cpp
index 61f0f9d640a..2b76f374342 100644
--- a/src/mongo/s/commands/cluster_flush_router_config_cmd.cpp
+++ b/src/mongo/s/commands/cluster_flush_router_config_cmd.cpp
@@ -39,8 +39,8 @@ class FlushRouterConfigCmd : public BasicCommand {
public:
FlushRouterConfigCmd() : BasicCommand("flushRouterConfig", "flushrouterconfig") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_fsync_cmd.cpp b/src/mongo/s/commands/cluster_fsync_cmd.cpp
index fa6363ed9fb..3f578bc9ddb 100644
--- a/src/mongo/s/commands/cluster_fsync_cmd.cpp
+++ b/src/mongo/s/commands/cluster_fsync_cmd.cpp
@@ -42,8 +42,8 @@ class FsyncCommand : public ErrmsgCommandDeprecated {
public:
FsyncCommand() : ErrmsgCommandDeprecated("fsync") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_ftdc_commands.cpp b/src/mongo/s/commands/cluster_ftdc_commands.cpp
index c6c30cebf95..6942bec0bdb 100644
--- a/src/mongo/s/commands/cluster_ftdc_commands.cpp
+++ b/src/mongo/s/commands/cluster_ftdc_commands.cpp
@@ -56,8 +56,8 @@ public:
return "get latest diagnostic data collection snapshot";
}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool supportsWriteConcern(const BSONObj& cmd) const override {
diff --git a/src/mongo/s/commands/cluster_get_last_error_cmd.cpp b/src/mongo/s/commands/cluster_get_last_error_cmd.cpp
index 9665072154d..3134fbb22c3 100644
--- a/src/mongo/s/commands/cluster_get_last_error_cmd.cpp
+++ b/src/mongo/s/commands/cluster_get_last_error_cmd.cpp
@@ -195,8 +195,8 @@ public:
return false;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
std::string help() const override {
diff --git a/src/mongo/s/commands/cluster_get_prev_error_cmd.cpp b/src/mongo/s/commands/cluster_get_prev_error_cmd.cpp
index 399eccc6684..d36e91916b8 100644
--- a/src/mongo/s/commands/cluster_get_prev_error_cmd.cpp
+++ b/src/mongo/s/commands/cluster_get_prev_error_cmd.cpp
@@ -47,8 +47,8 @@ public:
return false;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
std::string help() const override {
diff --git a/src/mongo/s/commands/cluster_get_shard_map_cmd.cpp b/src/mongo/s/commands/cluster_get_shard_map_cmd.cpp
index 3b70cf27d94..6672c597a39 100644
--- a/src/mongo/s/commands/cluster_get_shard_map_cmd.cpp
+++ b/src/mongo/s/commands/cluster_get_shard_map_cmd.cpp
@@ -47,8 +47,8 @@ public:
return false;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
std::string help() const override {
diff --git a/src/mongo/s/commands/cluster_get_shard_version_cmd.cpp b/src/mongo/s/commands/cluster_get_shard_version_cmd.cpp
index c55c77ef3f8..05f04d9249a 100644
--- a/src/mongo/s/commands/cluster_get_shard_version_cmd.cpp
+++ b/src/mongo/s/commands/cluster_get_shard_version_cmd.cpp
@@ -47,8 +47,8 @@ class GetShardVersion : public BasicCommand {
public:
GetShardVersion() : BasicCommand("getShardVersion", "getshardversion") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_getmore_cmd.cpp b/src/mongo/s/commands/cluster_getmore_cmd.cpp
index 00784d5c55c..4274efb7089 100644
--- a/src/mongo/s/commands/cluster_getmore_cmd.cpp
+++ b/src/mongo/s/commands/cluster_getmore_cmd.cpp
@@ -55,8 +55,8 @@ public:
return false;
}
- bool slaveOk() const final {
- return true;
+ AllowedOnSecondary secondaryAllowed() const final {
+ return AllowedOnSecondary::kAlways;
}
bool maintenanceOk() const final {
diff --git a/src/mongo/s/commands/cluster_index_filter_cmd.cpp b/src/mongo/s/commands/cluster_index_filter_cmd.cpp
index c06c42f2ce0..ba61748779f 100644
--- a/src/mongo/s/commands/cluster_index_filter_cmd.cpp
+++ b/src/mongo/s/commands/cluster_index_filter_cmd.cpp
@@ -61,15 +61,10 @@ public:
virtual ~ClusterIndexFilterCmd() {}
- bool slaveOk() const {
- return false;
- }
-
- bool slaveOverrideOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return false;
}
diff --git a/src/mongo/s/commands/cluster_is_db_grid_cmd.cpp b/src/mongo/s/commands/cluster_is_db_grid_cmd.cpp
index 3304202e4a7..297e4403c2f 100644
--- a/src/mongo/s/commands/cluster_is_db_grid_cmd.cpp
+++ b/src/mongo/s/commands/cluster_is_db_grid_cmd.cpp
@@ -43,8 +43,8 @@ public:
return false;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual void addRequiredPrivileges(const std::string& dbname,
diff --git a/src/mongo/s/commands/cluster_is_master_cmd.cpp b/src/mongo/s/commands/cluster_is_master_cmd.cpp
index 8caf0cde2c4..220d97e9e36 100644
--- a/src/mongo/s/commands/cluster_is_master_cmd.cpp
+++ b/src/mongo/s/commands/cluster_is_master_cmd.cpp
@@ -53,8 +53,8 @@ public:
return false;
}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
std::string help() const override {
diff --git a/src/mongo/s/commands/cluster_kill_op.cpp b/src/mongo/s/commands/cluster_kill_op.cpp
index bfeb02ea493..3418d4049be 100644
--- a/src/mongo/s/commands/cluster_kill_op.cpp
+++ b/src/mongo/s/commands/cluster_kill_op.cpp
@@ -60,8 +60,8 @@ public:
return false;
}
- bool slaveOk() const final {
- return true;
+ AllowedOnSecondary secondaryAllowed() const final {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const final {
diff --git a/src/mongo/s/commands/cluster_list_databases_cmd.cpp b/src/mongo/s/commands/cluster_list_databases_cmd.cpp
index 5a6d8a16552..064b89d3ca4 100644
--- a/src/mongo/s/commands/cluster_list_databases_cmd.cpp
+++ b/src/mongo/s/commands/cluster_list_databases_cmd.cpp
@@ -56,12 +56,8 @@ class ListDatabasesCmd : public BasicCommand {
public:
ListDatabasesCmd() : BasicCommand("listDatabases", "listdatabases") {}
- bool slaveOk() const final {
- return true;
- }
-
- bool slaveOverrideOk() const final {
- return true;
+ AllowedOnSecondary secondaryAllowed() const final {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const final {
diff --git a/src/mongo/s/commands/cluster_list_shards_cmd.cpp b/src/mongo/s/commands/cluster_list_shards_cmd.cpp
index 309c45a3be2..59ceb90f106 100644
--- a/src/mongo/s/commands/cluster_list_shards_cmd.cpp
+++ b/src/mongo/s/commands/cluster_list_shards_cmd.cpp
@@ -50,8 +50,8 @@ public:
return true;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool supportsWriteConcern(const BSONObj& cmd) const override {
diff --git a/src/mongo/s/commands/cluster_map_reduce_cmd.cpp b/src/mongo/s/commands/cluster_map_reduce_cmd.cpp
index 8787beefc09..5e58c1c0e68 100644
--- a/src/mongo/s/commands/cluster_map_reduce_cmd.cpp
+++ b/src/mongo/s/commands/cluster_map_reduce_cmd.cpp
@@ -151,8 +151,8 @@ class MRCmd : public ErrmsgCommandDeprecated {
public:
MRCmd() : ErrmsgCommandDeprecated("mapReduce", "mapreduce") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_merge_chunks_cmd.cpp b/src/mongo/s/commands/cluster_merge_chunks_cmd.cpp
index abfe8fe2f08..ecdfa931cd4 100644
--- a/src/mongo/s/commands/cluster_merge_chunks_cmd.cpp
+++ b/src/mongo/s/commands/cluster_merge_chunks_cmd.cpp
@@ -80,8 +80,8 @@ public:
return true;
}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool supportsWriteConcern(const BSONObj& cmd) const override {
diff --git a/src/mongo/s/commands/cluster_move_chunk_cmd.cpp b/src/mongo/s/commands/cluster_move_chunk_cmd.cpp
index d1a3ef74e84..e251376c920 100644
--- a/src/mongo/s/commands/cluster_move_chunk_cmd.cpp
+++ b/src/mongo/s/commands/cluster_move_chunk_cmd.cpp
@@ -55,10 +55,9 @@ class MoveChunkCmd : public ErrmsgCommandDeprecated {
public:
MoveChunkCmd() : ErrmsgCommandDeprecated("moveChunk", "movechunk") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
-
bool adminOnly() const override {
return true;
}
diff --git a/src/mongo/s/commands/cluster_move_primary_cmd.cpp b/src/mongo/s/commands/cluster_move_primary_cmd.cpp
index 181c3a3b8fd..34540a60b69 100644
--- a/src/mongo/s/commands/cluster_move_primary_cmd.cpp
+++ b/src/mongo/s/commands/cluster_move_primary_cmd.cpp
@@ -57,8 +57,8 @@ class MoveDatabasePrimaryCommand : public BasicCommand {
public:
MoveDatabasePrimaryCommand() : BasicCommand("movePrimary", "moveprimary") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_multicast.cpp b/src/mongo/s/commands/cluster_multicast.cpp
index d0d8d11c607..b26bdbe4e88 100644
--- a/src/mongo/s/commands/cluster_multicast.cpp
+++ b/src/mongo/s/commands/cluster_multicast.cpp
@@ -66,10 +66,9 @@ class MulticastCmd : public BasicCommand {
public:
MulticastCmd() : BasicCommand("multicast") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
-
bool adminOnly() const override {
return true;
}
diff --git a/src/mongo/s/commands/cluster_netstat_cmd.cpp b/src/mongo/s/commands/cluster_netstat_cmd.cpp
index b8ffa72b530..5dd1e0b1a1a 100644
--- a/src/mongo/s/commands/cluster_netstat_cmd.cpp
+++ b/src/mongo/s/commands/cluster_netstat_cmd.cpp
@@ -40,8 +40,8 @@ class NetStatCmd : public BasicCommand {
public:
NetStatCmd() : BasicCommand("netstat") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_pipeline_cmd.cpp b/src/mongo/s/commands/cluster_pipeline_cmd.cpp
index f9d972d4771..5983c0aa9c6 100644
--- a/src/mongo/s/commands/cluster_pipeline_cmd.cpp
+++ b/src/mongo/s/commands/cluster_pipeline_cmd.cpp
@@ -47,8 +47,8 @@ public:
"http://dochub.mongodb.org/core/aggregation for more details.";
}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_plan_cache_cmd.cpp b/src/mongo/s/commands/cluster_plan_cache_cmd.cpp
index 2e1b63653cd..8fa4c1edfc2 100644
--- a/src/mongo/s/commands/cluster_plan_cache_cmd.cpp
+++ b/src/mongo/s/commands/cluster_plan_cache_cmd.cpp
@@ -54,12 +54,8 @@ class ClusterPlanCacheCmd : public BasicCommand {
public:
virtual ~ClusterPlanCacheCmd() {}
- bool slaveOk() const {
- return false;
- }
-
- bool slaveOverrideOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
bool supportsWriteConcern(const BSONObj& cmd) const override {
diff --git a/src/mongo/s/commands/cluster_profile_cmd.cpp b/src/mongo/s/commands/cluster_profile_cmd.cpp
index cab007638d9..5129922d3a5 100644
--- a/src/mongo/s/commands/cluster_profile_cmd.cpp
+++ b/src/mongo/s/commands/cluster_profile_cmd.cpp
@@ -37,8 +37,8 @@ class ProfileCmd : public ErrmsgCommandDeprecated {
public:
ProfileCmd() : ErrmsgCommandDeprecated("profile") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_remove_shard_cmd.cpp b/src/mongo/s/commands/cluster_remove_shard_cmd.cpp
index 51d863cc668..336f51d0437 100644
--- a/src/mongo/s/commands/cluster_remove_shard_cmd.cpp
+++ b/src/mongo/s/commands/cluster_remove_shard_cmd.cpp
@@ -49,8 +49,8 @@ public:
return "remove a shard from the system.";
}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp b/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
index 0118f75ee14..bc35d3c573c 100644
--- a/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
+++ b/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
@@ -69,8 +69,8 @@ class RemoveShardFromZoneCmd : public BasicCommand {
public:
RemoveShardFromZoneCmd() : BasicCommand("removeShardFromZone", "removeshardfromzone") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_repl_set_get_status_cmd.cpp b/src/mongo/s/commands/cluster_repl_set_get_status_cmd.cpp
index 913d7248d11..0c70fdac88c 100644
--- a/src/mongo/s/commands/cluster_repl_set_get_status_cmd.cpp
+++ b/src/mongo/s/commands/cluster_repl_set_get_status_cmd.cpp
@@ -40,8 +40,8 @@ class CmdReplSetGetStatus : public ErrmsgCommandDeprecated {
public:
CmdReplSetGetStatus() : ErrmsgCommandDeprecated("replSetGetStatus") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_reset_error_cmd.cpp b/src/mongo/s/commands/cluster_reset_error_cmd.cpp
index 50ba801ba37..6df637aaf76 100644
--- a/src/mongo/s/commands/cluster_reset_error_cmd.cpp
+++ b/src/mongo/s/commands/cluster_reset_error_cmd.cpp
@@ -49,8 +49,8 @@ public:
return false;
}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual void addRequiredPrivileges(const std::string& dbname,
diff --git a/src/mongo/s/commands/cluster_restart_catalog_command.cpp b/src/mongo/s/commands/cluster_restart_catalog_command.cpp
index 4caf7b3b127..bf34e154595 100644
--- a/src/mongo/s/commands/cluster_restart_catalog_command.cpp
+++ b/src/mongo/s/commands/cluster_restart_catalog_command.cpp
@@ -58,8 +58,8 @@ public:
return false;
}
- bool slaveOk() const final {
- return true;
+ AllowedOnSecondary secondaryAllowed() const final {
+ return AllowedOnSecondary::kAlways;
}
bool supportsWriteConcern(const BSONObj& cmd) const final {
diff --git a/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp b/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp
index 04502b0e214..2e519bc73f9 100644
--- a/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp
+++ b/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp
@@ -55,8 +55,8 @@ class SetFeatureCompatibilityVersionCmd : public BasicCommand {
public:
SetFeatureCompatibilityVersionCmd() : BasicCommand("setFeatureCompatibilityVersion") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_shard_collection_cmd.cpp b/src/mongo/s/commands/cluster_shard_collection_cmd.cpp
index 31d230f117f..f9fc5442099 100644
--- a/src/mongo/s/commands/cluster_shard_collection_cmd.cpp
+++ b/src/mongo/s/commands/cluster_shard_collection_cmd.cpp
@@ -70,8 +70,8 @@ class ShardCollectionCmd : public BasicCommand {
public:
ShardCollectionCmd() : BasicCommand("shardCollection", "shardcollection") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_split_cmd.cpp b/src/mongo/s/commands/cluster_split_cmd.cpp
index 1b709cf9f95..ec5fbe58d37 100644
--- a/src/mongo/s/commands/cluster_split_cmd.cpp
+++ b/src/mongo/s/commands/cluster_split_cmd.cpp
@@ -88,8 +88,8 @@ class SplitCollectionCmd : public ErrmsgCommandDeprecated {
public:
SplitCollectionCmd() : ErrmsgCommandDeprecated("split") {}
- bool slaveOk() const override {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
bool adminOnly() const override {
diff --git a/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp b/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
index 0abb42b3a22..f286abc6a6b 100644
--- a/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
+++ b/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
@@ -72,8 +72,8 @@ class UpdateZoneKeyRangeCmd : public BasicCommand {
public:
UpdateZoneKeyRangeCmd() : BasicCommand("updateZoneKeyRange", "updatezonekeyRange") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
diff --git a/src/mongo/s/commands/cluster_user_management_commands.cpp b/src/mongo/s/commands/cluster_user_management_commands.cpp
index a9d6230b8cc..f908b1e98e1 100644
--- a/src/mongo/s/commands/cluster_user_management_commands.cpp
+++ b/src/mongo/s/commands/cluster_user_management_commands.cpp
@@ -67,11 +67,10 @@ class CmdCreateUser : public BasicCommand {
public:
CmdCreateUser() : BasicCommand("createUser") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -108,11 +107,10 @@ class CmdUpdateUser : public BasicCommand {
public:
CmdUpdateUser() : BasicCommand("updateUser") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -160,8 +158,8 @@ class CmdDropUser : public BasicCommand {
public:
CmdDropUser() : BasicCommand("dropUser") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
@@ -208,11 +206,10 @@ class CmdDropAllUsersFromDatabase : public BasicCommand {
public:
CmdDropAllUsersFromDatabase() : BasicCommand("dropAllUsersFromDatabase") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -251,8 +248,8 @@ class CmdGrantRolesToUser : public BasicCommand {
public:
CmdGrantRolesToUser() : BasicCommand("grantRolesToUser") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
@@ -301,8 +298,8 @@ class CmdRevokeRolesFromUser : public BasicCommand {
public:
CmdRevokeRolesFromUser() : BasicCommand("revokeRolesFromUser") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
@@ -349,15 +346,10 @@ public:
class CmdUsersInfo : public BasicCommand {
public:
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
- virtual bool slaveOverrideOk() const {
- return true;
- }
-
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return false;
}
@@ -388,11 +380,10 @@ class CmdCreateRole : public BasicCommand {
public:
CmdCreateRole() : BasicCommand("createRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -425,11 +416,10 @@ class CmdUpdateRole : public BasicCommand {
public:
CmdUpdateRole() : BasicCommand("updateRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -468,8 +458,8 @@ class CmdGrantPrivilegesToRole : public BasicCommand {
public:
CmdGrantPrivilegesToRole() : BasicCommand("grantPrivilegesToRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
@@ -511,11 +501,10 @@ class CmdRevokePrivilegesFromRole : public BasicCommand {
public:
CmdRevokePrivilegesFromRole() : BasicCommand("revokePrivilegesFromRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -554,11 +543,10 @@ class CmdGrantRolesToRole : public BasicCommand {
public:
CmdGrantRolesToRole() : BasicCommand("grantRolesToRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -597,11 +585,10 @@ class CmdRevokeRolesFromRole : public BasicCommand {
public:
CmdRevokeRolesFromRole() : BasicCommand("revokeRolesFromRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -640,11 +627,10 @@ class CmdDropRole : public BasicCommand {
public:
CmdDropRole() : BasicCommand("dropRole") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
@@ -686,8 +672,8 @@ class CmdDropAllRolesFromDatabase : public BasicCommand {
public:
CmdDropAllRolesFromDatabase() : BasicCommand("dropAllRolesFromDatabase") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
@@ -733,15 +719,10 @@ class CmdRolesInfo : public BasicCommand {
public:
CmdRolesInfo() : BasicCommand("rolesInfo") {}
- virtual bool slaveOk() const {
- return false;
- }
-
- virtual bool slaveOverrideOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kOptIn;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return false;
}
@@ -770,8 +751,8 @@ class CmdInvalidateUserCache : public BasicCommand {
public:
CmdInvalidateUserCache() : BasicCommand("invalidateUserCache") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
@@ -819,11 +800,10 @@ class CmdMergeAuthzCollections : public BasicCommand {
public:
CmdMergeAuthzCollections() : BasicCommand("_mergeAuthzCollections") {}
- virtual bool slaveOk() const {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
-
virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
return true;
}
diff --git a/src/mongo/s/commands/cluster_whats_my_uri_cmd.cpp b/src/mongo/s/commands/cluster_whats_my_uri_cmd.cpp
index a44d6fbb8c1..7cd621302ba 100644
--- a/src/mongo/s/commands/cluster_whats_my_uri_cmd.cpp
+++ b/src/mongo/s/commands/cluster_whats_my_uri_cmd.cpp
@@ -38,8 +38,8 @@ class WhatsMyUriCmd : public BasicCommand {
public:
WhatsMyUriCmd() : BasicCommand("whatsmyuri") {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
diff --git a/src/mongo/s/commands/cluster_write_cmd.cpp b/src/mongo/s/commands/cluster_write_cmd.cpp
index bf1949d73c8..779b3993c99 100644
--- a/src/mongo/s/commands/cluster_write_cmd.cpp
+++ b/src/mongo/s/commands/cluster_write_cmd.cpp
@@ -139,8 +139,8 @@ class ClusterWriteCmd : public Command {
public:
virtual ~ClusterWriteCmd() {}
- bool slaveOk() const final {
- return false;
+ AllowedOnSecondary secondaryAllowed() const final {
+ return AllowedOnSecondary::kNever;
}
bool supportsWriteConcern(const BSONObj& cmd) const final {
diff --git a/src/mongo/s/commands/commands_public.cpp b/src/mongo/s/commands/commands_public.cpp
index 4c153831450..c5e0ecb358d 100644
--- a/src/mongo/s/commands/commands_public.cpp
+++ b/src/mongo/s/commands/commands_public.cpp
@@ -151,8 +151,8 @@ class PublicGridCommand : public BasicCommand {
protected:
PublicGridCommand(const char* n, const char* oldname = NULL) : BasicCommand(n, oldname) {}
- virtual bool slaveOk() const {
- return true;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
}
virtual bool adminOnly() const {
@@ -247,8 +247,8 @@ class DropIndexesCmd : public ErrmsgCommandDeprecated {
public:
DropIndexesCmd() : ErrmsgCommandDeprecated("dropIndexes", "deleteIndexes") {}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {
@@ -291,8 +291,8 @@ class CreateIndexesCmd : public ErrmsgCommandDeprecated {
public:
CreateIndexesCmd() : ErrmsgCommandDeprecated("createIndexes") {}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {
@@ -340,8 +340,8 @@ class ReIndexCmd : public ErrmsgCommandDeprecated {
public:
ReIndexCmd() : ErrmsgCommandDeprecated("reIndex") {}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {
@@ -384,8 +384,8 @@ class CollectionModCmd : public ErrmsgCommandDeprecated {
public:
CollectionModCmd() : ErrmsgCommandDeprecated("collMod") {}
- bool slaveOk() const override {
- return false;
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kNever;
}
bool adminOnly() const override {