diff options
Diffstat (limited to 'src/mongo/s/commands')
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 { |