diff options
Diffstat (limited to 'src/mongo/s/commands')
48 files changed, 181 insertions, 138 deletions
diff --git a/src/mongo/s/commands/cluster_add_shard_cmd.cpp b/src/mongo/s/commands/cluster_add_shard_cmd.cpp index df13a652f37..56cdf9650ab 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 419ca7e2a0e..e82e6bc0817 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 8eccb031358..d209c2ace34 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 d5fd03ae39a..3d933804c49 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 5a60b6bb8d8..11e05a559d0 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) {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } 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 2c407b61005..f05f349982c 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 35a24f7d81d..1d74af4d1e7 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 a77abe079a6..6a8081c20c2 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 207db3d3c0d..da0380565eb 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 1869632ef68..77bdbbb6681 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 3f435329d75..b734501ab36 100644 --- a/src/mongo/s/commands/cluster_explain_cmd.cpp +++ b/src/mongo/s/commands/cluster_explain_cmd.cpp @@ -61,8 +61,12 @@ public: /** * Running an explain on a secondary requires explicitly setting slaveOk. */ - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + virtual bool slaveOk() const { + return false; + } + + virtual bool slaveOverrideOk() const { + return true; } 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 922d271e870..90b5665e6a0 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 8b53c5b6f6b..9c8adb1a64b 100644 --- a/src/mongo/s/commands/cluster_find_cmd.cpp +++ b/src/mongo/s/commands/cluster_find_cmd.cpp @@ -65,8 +65,12 @@ public: return false; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + bool slaveOk() const final { + return false; + } + + bool slaveOverrideOk() const final { + return true; } 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 2b76f374342..61f0f9d640a 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 3f578bc9ddb..fa6363ed9fb 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 6942bec0bdb..c6c30cebf95 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"; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 3134fbb22c3..9665072154d 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 d36e91916b8..399eccc6684 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 6672c597a39..3b70cf27d94 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 05f04d9249a..c55c77ef3f8 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 4274efb7089..00784d5c55c 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; } - AllowedOnSecondary secondaryAllowed() const final { - return AllowedOnSecondary::kAlways; + bool slaveOk() const final { + return true; } 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 ba61748779f..c06c42f2ce0 100644 --- a/src/mongo/s/commands/cluster_index_filter_cmd.cpp +++ b/src/mongo/s/commands/cluster_index_filter_cmd.cpp @@ -61,10 +61,15 @@ public: virtual ~ClusterIndexFilterCmd() {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + bool slaveOk() const { + return false; + } + + bool slaveOverrideOk() const { + return true; } + 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 297e4403c2f..3304202e4a7 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 220d97e9e36..8caf0cde2c4 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 3418d4049be..bfeb02ea493 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; } - AllowedOnSecondary secondaryAllowed() const final { - return AllowedOnSecondary::kAlways; + bool slaveOk() const final { + return true; } 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 064b89d3ca4..5a6d8a16552 100644 --- a/src/mongo/s/commands/cluster_list_databases_cmd.cpp +++ b/src/mongo/s/commands/cluster_list_databases_cmd.cpp @@ -56,8 +56,12 @@ class ListDatabasesCmd : public BasicCommand { public: ListDatabasesCmd() : BasicCommand("listDatabases", "listdatabases") {} - AllowedOnSecondary secondaryAllowed() const final { - return AllowedOnSecondary::kAlways; + bool slaveOk() const final { + return true; + } + + bool slaveOverrideOk() const final { + return true; } 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 59ceb90f106..309c45a3be2 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 5e58c1c0e68..8787beefc09 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 ecdfa931cd4..abfe8fe2f08 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } 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 e251376c920..d1a3ef74e84 100644 --- a/src/mongo/s/commands/cluster_move_chunk_cmd.cpp +++ b/src/mongo/s/commands/cluster_move_chunk_cmd.cpp @@ -55,9 +55,10 @@ class MoveChunkCmd : public ErrmsgCommandDeprecated { public: MoveChunkCmd() : ErrmsgCommandDeprecated("moveChunk", "movechunk") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } + 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 34540a60b69..181c3a3b8fd 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } virtual bool adminOnly() const { diff --git a/src/mongo/s/commands/cluster_multicast.cpp b/src/mongo/s/commands/cluster_multicast.cpp index b26bdbe4e88..d0d8d11c607 100644 --- a/src/mongo/s/commands/cluster_multicast.cpp +++ b/src/mongo/s/commands/cluster_multicast.cpp @@ -66,9 +66,10 @@ class MulticastCmd : public BasicCommand { public: MulticastCmd() : BasicCommand("multicast") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } + 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 5dd1e0b1a1a..b8ffa72b530 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 5983c0aa9c6..f9d972d4771 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."; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 8fa4c1edfc2..2e1b63653cd 100644 --- a/src/mongo/s/commands/cluster_plan_cache_cmd.cpp +++ b/src/mongo/s/commands/cluster_plan_cache_cmd.cpp @@ -54,8 +54,12 @@ class ClusterPlanCacheCmd : public BasicCommand { public: virtual ~ClusterPlanCacheCmd() {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + bool slaveOk() const { + return false; + } + + bool slaveOverrideOk() const { + return true; } 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 5129922d3a5..cab007638d9 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 336f51d0437..51d863cc668 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."; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } 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 bc35d3c573c..0118f75ee14 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 0c70fdac88c..913d7248d11 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 6df637aaf76..50ba801ba37 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; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } virtual void addRequiredPrivileges(const std::string& dbname, 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 2e519bc73f9..04502b0e214 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } 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 f9fc5442099..31d230f117f 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 ec5fbe58d37..1b709cf9f95 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + bool slaveOk() const override { + return true; } 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 f286abc6a6b..0abb42b3a22 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } 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 f908b1e98e1..a9d6230b8cc 100644 --- a/src/mongo/s/commands/cluster_user_management_commands.cpp +++ b/src/mongo/s/commands/cluster_user_management_commands.cpp @@ -67,10 +67,11 @@ class CmdCreateUser : public BasicCommand { public: CmdCreateUser() : BasicCommand("createUser") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -107,10 +108,11 @@ class CmdUpdateUser : public BasicCommand { public: CmdUpdateUser() : BasicCommand("updateUser") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -158,8 +160,8 @@ class CmdDropUser : public BasicCommand { public: CmdDropUser() : BasicCommand("dropUser") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } @@ -206,10 +208,11 @@ class CmdDropAllUsersFromDatabase : public BasicCommand { public: CmdDropAllUsersFromDatabase() : BasicCommand("dropAllUsersFromDatabase") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -248,8 +251,8 @@ class CmdGrantRolesToUser : public BasicCommand { public: CmdGrantRolesToUser() : BasicCommand("grantRolesToUser") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } @@ -298,8 +301,8 @@ class CmdRevokeRolesFromUser : public BasicCommand { public: CmdRevokeRolesFromUser() : BasicCommand("revokeRolesFromUser") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } @@ -346,10 +349,15 @@ public: class CmdUsersInfo : public BasicCommand { public: - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + virtual bool slaveOk() const { + return false; } + virtual bool slaveOverrideOk() const { + return true; + } + + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return false; } @@ -380,10 +388,11 @@ class CmdCreateRole : public BasicCommand { public: CmdCreateRole() : BasicCommand("createRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -416,10 +425,11 @@ class CmdUpdateRole : public BasicCommand { public: CmdUpdateRole() : BasicCommand("updateRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -458,8 +468,8 @@ class CmdGrantPrivilegesToRole : public BasicCommand { public: CmdGrantPrivilegesToRole() : BasicCommand("grantPrivilegesToRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } @@ -501,10 +511,11 @@ class CmdRevokePrivilegesFromRole : public BasicCommand { public: CmdRevokePrivilegesFromRole() : BasicCommand("revokePrivilegesFromRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -543,10 +554,11 @@ class CmdGrantRolesToRole : public BasicCommand { public: CmdGrantRolesToRole() : BasicCommand("grantRolesToRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -585,10 +597,11 @@ class CmdRevokeRolesFromRole : public BasicCommand { public: CmdRevokeRolesFromRole() : BasicCommand("revokeRolesFromRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -627,10 +640,11 @@ class CmdDropRole : public BasicCommand { public: CmdDropRole() : BasicCommand("dropRole") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } @@ -672,8 +686,8 @@ class CmdDropAllRolesFromDatabase : public BasicCommand { public: CmdDropAllRolesFromDatabase() : BasicCommand("dropAllRolesFromDatabase") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } @@ -719,10 +733,15 @@ class CmdRolesInfo : public BasicCommand { public: CmdRolesInfo() : BasicCommand("rolesInfo") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kOptIn; + virtual bool slaveOk() const { + return false; + } + + virtual bool slaveOverrideOk() const { + return true; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return false; } @@ -751,8 +770,8 @@ class CmdInvalidateUserCache : public BasicCommand { public: CmdInvalidateUserCache() : BasicCommand("invalidateUserCache") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } virtual bool adminOnly() const { @@ -800,10 +819,11 @@ class CmdMergeAuthzCollections : public BasicCommand { public: CmdMergeAuthzCollections() : BasicCommand("_mergeAuthzCollections") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + virtual bool slaveOk() const { + return false; } + 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 7cd621302ba..a44d6fbb8c1 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") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } diff --git a/src/mongo/s/commands/cluster_write_cmd.cpp b/src/mongo/s/commands/cluster_write_cmd.cpp index 779b3993c99..bf1949d73c8 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() {} - AllowedOnSecondary secondaryAllowed() const final { - return AllowedOnSecondary::kNever; + bool slaveOk() const final { + return false; } 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 c5e0ecb358d..4c153831450 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) {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; + virtual bool slaveOk() const { + return true; } virtual bool adminOnly() const { @@ -247,8 +247,8 @@ class DropIndexesCmd : public ErrmsgCommandDeprecated { public: DropIndexesCmd() : ErrmsgCommandDeprecated("dropIndexes", "deleteIndexes") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } bool adminOnly() const override { @@ -291,8 +291,8 @@ class CreateIndexesCmd : public ErrmsgCommandDeprecated { public: CreateIndexesCmd() : ErrmsgCommandDeprecated("createIndexes") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } bool adminOnly() const override { @@ -340,8 +340,8 @@ class ReIndexCmd : public ErrmsgCommandDeprecated { public: ReIndexCmd() : ErrmsgCommandDeprecated("reIndex") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } bool adminOnly() const override { @@ -384,8 +384,8 @@ class CollectionModCmd : public ErrmsgCommandDeprecated { public: CollectionModCmd() : ErrmsgCommandDeprecated("collMod") {} - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kNever; + bool slaveOk() const override { + return false; } bool adminOnly() const override { |