summaryrefslogtreecommitdiff
path: root/src/mongo/db/read_write_concern_defaults.cpp
diff options
context:
space:
mode:
authorMoustafa Maher <m.maher@10gen.com>2021-05-19 01:41:11 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-19 20:31:00 +0000
commita04e6daade40026c2dca545622d082ef6bb8c82c (patch)
treef0b7f0e262ae3c870856e8dba62ed0aab30e1558 /src/mongo/db/read_write_concern_defaults.cpp
parentf99bf23e8e6d88e4ff6800eb24b200fc382e7753 (diff)
downloadmongo-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.cpp17
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) {