diff options
author | Moustafa Maher <m.maher@10gen.com> | 2021-05-19 01:41:11 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-05-19 20:31:00 +0000 |
commit | a04e6daade40026c2dca545622d082ef6bb8c82c (patch) | |
tree | f0b7f0e262ae3c870856e8dba62ed0aab30e1558 /src/mongo/db/read_write_concern_defaults.cpp | |
parent | f99bf23e8e6d88e4ff6800eb24b200fc382e7753 (diff) | |
download | mongo-a04e6daade40026c2dca545622d082ef6bb8c82c.tar.gz |
SERVER-57010 Check default write concern during replica set reconfig When the feature flag is enabled
Diffstat (limited to 'src/mongo/db/read_write_concern_defaults.cpp')
-rw-r--r-- | src/mongo/db/read_write_concern_defaults.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mongo/db/read_write_concern_defaults.cpp b/src/mongo/db/read_write_concern_defaults.cpp index 183805cf64d..c982ef78bda 100644 --- a/src/mongo/db/read_write_concern_defaults.cpp +++ b/src/mongo/db/read_write_concern_defaults.cpp @@ -161,6 +161,23 @@ RWConcernDefault ReadWriteConcernDefaults::generateNewCWRWCToBeSavedOnDisk( return rwc; } +bool ReadWriteConcernDefaults::isCWWCSet(OperationContext* opCtx) { + // TODO (SERVER-57042): Call getDefault() instead and return writeConcernSource == KGlobal. + auto cached = _getDefaultCWRWCFromDisk(opCtx); + if (!cached) { + return false; + } + + auto wc = cached.get().getDefaultWriteConcern(); + if (!wc) { + return false; + } + + // CWWC should have "usedDefault" flag set to false, as this flag only set to true if the + // default constructed WC is used. + return !wc.get().usedDefault; +} + void ReadWriteConcernDefaults::observeDirectWriteToConfigSettings(OperationContext* opCtx, BSONElement idElem, boost::optional<BSONObj> newDoc) { |