diff options
author | David Storch <david.storch@10gen.com> | 2014-09-25 12:35:38 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2014-09-25 18:08:57 -0400 |
commit | 77b00970997d13d0758c745e5a94fc79982d4401 (patch) | |
tree | 2eba1844a398aa2188755553cbfec4f3a1f86d49 /src/mongo | |
parent | f12b81dd15143d62768a4082f11ccc26692d6625 (diff) | |
download | mongo-77b00970997d13d0758c745e5a94fc79982d4401.tar.gz |
SERVER-15233 allow plan cache commands to run on secondaries is slaveOk explicitly set to true
Diffstat (limited to 'src/mongo')
-rw-r--r-- | src/mongo/db/commands/plan_cache_commands.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/commands/plan_cache_commands.h | 2 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_plan_cache_cmd.cpp | 8 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/mongo/db/commands/plan_cache_commands.cpp b/src/mongo/db/commands/plan_cache_commands.cpp index 6ca998a1b71..601e9b47318 100644 --- a/src/mongo/db/commands/plan_cache_commands.cpp +++ b/src/mongo/db/commands/plan_cache_commands.cpp @@ -141,6 +141,10 @@ namespace mongo { return false; } + bool PlanCacheCommand::slaveOverrideOk() const { + return true; + } + void PlanCacheCommand::help(stringstream& ss) const { ss << helpText; } diff --git a/src/mongo/db/commands/plan_cache_commands.h b/src/mongo/db/commands/plan_cache_commands.h index 1a4a49a3c4f..34660d9a48b 100644 --- a/src/mongo/db/commands/plan_cache_commands.h +++ b/src/mongo/db/commands/plan_cache_commands.h @@ -65,6 +65,8 @@ namespace mongo { virtual bool slaveOk() const; + virtual bool slaveOverrideOk() const; + virtual void help(std::stringstream& ss) const; /** diff --git a/src/mongo/s/commands/cluster_plan_cache_cmd.cpp b/src/mongo/s/commands/cluster_plan_cache_cmd.cpp index 1aa015a495b..5bd87f4eb8a 100644 --- a/src/mongo/s/commands/cluster_plan_cache_cmd.cpp +++ b/src/mongo/s/commands/cluster_plan_cache_cmd.cpp @@ -58,6 +58,10 @@ namespace mongo { return false; } + bool slaveOverrideOk() const { + return true; + } + virtual bool isWriteCommandForConfigServer() const { return false; } void help(stringstream& ss) const { @@ -69,11 +73,11 @@ namespace mongo { const BSONObj& cmdObj ) { AuthorizationSession* authzSession = client->getAuthorizationSession(); ResourcePattern pattern = parseResourcePattern(dbname, cmdObj); - + if (authzSession->isAuthorizedForActionsOnResource(pattern, _actionType)) { return Status::OK(); } - + return Status(ErrorCodes::Unauthorized, "unauthorized"); } |