diff options
Diffstat (limited to 'src/mongo/db/commands/mr.cpp')
-rw-r--r-- | src/mongo/db/commands/mr.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mongo/db/commands/mr.cpp b/src/mongo/db/commands/mr.cpp index ef9043fd78a..ce7d144bfcc 100644 --- a/src/mongo/db/commands/mr.cpp +++ b/src/mongo/db/commands/mr.cpp @@ -1351,13 +1351,12 @@ class MapReduceCommand : public ErrmsgCommandDeprecated { public: MapReduceCommand() : ErrmsgCommandDeprecated("mapReduce", "mapreduce") {} - virtual bool slaveOk() const { - return repl::getGlobalReplicationCoordinator()->getReplicationMode() != - repl::ReplicationCoordinator::modeReplSet; - } - - virtual bool slaveOverrideOk() const { - return true; + AllowedOnSecondary secondaryAllowed() const override { + if (repl::getGlobalReplicationCoordinator()->getReplicationMode() != + repl::ReplicationCoordinator::modeReplSet) { + return AllowedOnSecondary::kAlways; + } + return AllowedOnSecondary::kOptIn; } std::size_t reserveBytesForReply() const override { @@ -1689,13 +1688,15 @@ public: return "internal"; } MapReduceFinishCommand() : BasicCommand("mapreduce.shardedfinish") {} - virtual bool slaveOk() const { - return repl::getGlobalReplicationCoordinator()->getReplicationMode() != - repl::ReplicationCoordinator::modeReplSet; - } - virtual bool slaveOverrideOk() const { - return true; + + AllowedOnSecondary secondaryAllowed() const override { + if (repl::getGlobalReplicationCoordinator()->getReplicationMode() != + repl::ReplicationCoordinator::modeReplSet) { + return AllowedOnSecondary::kAlways; + } + return AllowedOnSecondary::kOptIn; } + virtual bool supportsWriteConcern(const BSONObj& cmd) const override { return true; } |