diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2020-01-23 15:57:11 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-13 22:24:40 +0000 |
commit | ea7294598dc4621245739da201c0aeaf11aaf957 (patch) | |
tree | 68081d188ed83dd6cf767c2946b11529d1bc1f7a /src/mongo/s | |
parent | 81d78ae4ff9ea93a5b6ec6b3134557310d89d64d (diff) | |
download | mongo-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.cpp | 4 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_db_stats_cmd.cpp | 4 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_distinct_cmd.cpp | 4 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_list_databases_cmd.cpp | 4 | ||||
-rw-r--r-- | src/mongo/s/commands/commands_public.cpp | 8 |
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; } |