summaryrefslogtreecommitdiff
path: root/src/mongo/s
diff options
context:
space:
mode:
authorVesselina Ratcheva <vesselina.ratcheva@10gen.com>2020-01-23 15:57:11 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-13 22:24:40 +0000
commitea7294598dc4621245739da201c0aeaf11aaf957 (patch)
tree68081d188ed83dd6cf767c2946b11529d1bc1f7a /src/mongo/s
parent81d78ae4ff9ea93a5b6ec6b3134557310d89d64d (diff)
downloadmongo-ea7294598dc4621245739da201c0aeaf11aaf957.tar.gz
SERVER-45610 Reject commands that read data when node is in RECOVERING state
create mode 100644 jstests/libs/all_commands_test.js create mode 100644 jstests/replsets/db_reads_while_recovering_all_commands.js
Diffstat (limited to 'src/mongo/s')
-rw-r--r--src/mongo/s/commands/cluster_coll_stats_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_db_stats_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_distinct_cmd.cpp4
-rw-r--r--src/mongo/s/commands/cluster_list_databases_cmd.cpp4
-rw-r--r--src/mongo/s/commands/commands_public.cpp8
5 files changed, 24 insertions, 0 deletions
diff --git a/src/mongo/s/commands/cluster_coll_stats_cmd.cpp b/src/mongo/s/commands/cluster_coll_stats_cmd.cpp
index c1c9a24d5f8..b6b78d452df 100644
--- a/src/mongo/s/commands/cluster_coll_stats_cmd.cpp
+++ b/src/mongo/s/commands/cluster_coll_stats_cmd.cpp
@@ -53,6 +53,10 @@ public:
return false;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
std::string parseNs(const std::string& dbname, const BSONObj& cmdObj) const override {
return CommandHelpers::parseNsCollectionRequired(dbname, cmdObj).ns();
}
diff --git a/src/mongo/s/commands/cluster_db_stats_cmd.cpp b/src/mongo/s/commands/cluster_db_stats_cmd.cpp
index 3408419de95..b8b9e2f90f9 100644
--- a/src/mongo/s/commands/cluster_db_stats_cmd.cpp
+++ b/src/mongo/s/commands/cluster_db_stats_cmd.cpp
@@ -88,6 +88,10 @@ public:
return AllowedOnSecondary::kAlways;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
bool adminOnly() const override {
return false;
}
diff --git a/src/mongo/s/commands/cluster_distinct_cmd.cpp b/src/mongo/s/commands/cluster_distinct_cmd.cpp
index bba351c4f58..1b19ddaad90 100644
--- a/src/mongo/s/commands/cluster_distinct_cmd.cpp
+++ b/src/mongo/s/commands/cluster_distinct_cmd.cpp
@@ -64,6 +64,10 @@ public:
return AllowedOnSecondary::kAlways;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
bool adminOnly() const override {
return false;
}
diff --git a/src/mongo/s/commands/cluster_list_databases_cmd.cpp b/src/mongo/s/commands/cluster_list_databases_cmd.cpp
index fb5e9ab261a..4222656f498 100644
--- a/src/mongo/s/commands/cluster_list_databases_cmd.cpp
+++ b/src/mongo/s/commands/cluster_list_databases_cmd.cpp
@@ -55,6 +55,10 @@ public:
return AllowedOnSecondary::kAlways;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
bool adminOnly() const override {
return true;
}
diff --git a/src/mongo/s/commands/commands_public.cpp b/src/mongo/s/commands/commands_public.cpp
index bcdeaeb3b02..16f56cd9d24 100644
--- a/src/mongo/s/commands/commands_public.cpp
+++ b/src/mongo/s/commands/commands_public.cpp
@@ -365,6 +365,10 @@ public:
return AllowedOnSecondary::kAlways;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
bool adminOnly() const override {
return false;
}
@@ -517,6 +521,10 @@ public:
return AllowedOnSecondary::kAlways;
}
+ bool maintenanceOk() const override {
+ return false;
+ }
+
bool adminOnly() const override {
return false;
}