summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/mr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/commands/mr.cpp')
-rw-r--r--src/mongo/db/commands/mr.cpp27
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;
}