summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands.h
diff options
context:
space:
mode:
authorSamy Lanka <samy.lanka@mongodb.com>2021-05-12 04:05:56 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-20 21:14:11 +0000
commit7f901206919def001d0128a2907601a1ff2143b7 (patch)
treefb383e4fae1cd1fe7d973125d31c8cec1a8fb4b8 /src/mongo/db/commands.h
parentfe0042206cc3ea6a0792a956a876d5793a1c67c2 (diff)
downloadmongo-7f901206919def001d0128a2907601a1ff2143b7.tar.gz
SERVER-56488 Change the default read concern to always be local
Diffstat (limited to 'src/mongo/db/commands.h')
-rw-r--r--src/mongo/db/commands.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mongo/db/commands.h b/src/mongo/db/commands.h
index 086f08ddda0..07c08e5000d 100644
--- a/src/mongo/db/commands.h
+++ b/src/mongo/db/commands.h
@@ -658,7 +658,8 @@ public:
/**
* Returns this invocation's support for readConcern.
*/
- virtual ReadConcernSupportResult supportsReadConcern(repl::ReadConcernLevel level) const {
+ virtual ReadConcernSupportResult supportsReadConcern(repl::ReadConcernLevel level,
+ bool isImplicitDefault) const {
static const Status kReadConcernNotSupported{ErrorCodes::InvalidOptions,
"read concern not supported"};
static const Status kDefaultReadConcernNotPermitted{ErrorCodes::InvalidOptions,
@@ -686,7 +687,8 @@ public:
return false;
}
- if (auto result = supportsReadConcern(repl::ReadConcernLevel::kMajorityReadConcern);
+ if (auto result = supportsReadConcern(repl::ReadConcernLevel::kMajorityReadConcern,
+ false /* isImplicitDefault */);
result.readConcernSupport.isOK()) {
// If the command supports read concern, it has storage and newtork implications.
return false;
@@ -860,11 +862,12 @@ public:
* cases where it isn't supported.
*/
virtual ReadConcernSupportResult supportsReadConcern(const BSONObj& cmdObj,
- repl::ReadConcernLevel level) const {
+ repl::ReadConcernLevel level,
+ bool isImplicitDefault) const {
static const Status kReadConcernNotSupported{ErrorCodes::InvalidOptions,
"read concern not supported"};
- static const Status kDefaultReadConcernNotPermitted{ErrorCodes::InvalidOptions,
- "default read concern not permitted"};
+ static const Status kDefaultReadConcernNotPermitted{
+ ErrorCodes::InvalidOptions, "cluster wide default read concern not permitted"};
return {{level != repl::ReadConcernLevel::kLocalReadConcern, kReadConcernNotSupported},
{kDefaultReadConcernNotPermitted}};
}