summaryrefslogtreecommitdiff
path: root/src/mongo/embedded
diff options
context:
space:
mode:
authorSiyuan Zhou <siyuan.zhou@mongodb.com>2020-02-24 01:22:36 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-29 00:02:40 +0000
commit6c0645af5999ef52579c04f1b6fff422bd89da3c (patch)
treed8ce20701fef24f7ed9f2691e4972b792487f53e /src/mongo/embedded
parent2d8f351c2640f402027a2fc0c51628db8d4f85b1 (diff)
downloadmongo-6c0645af5999ef52579c04f1b6fff422bd89da3c.tar.gz
SERVER-46288 Reconfig in 4.2 style with the current config on FCV downgrade
- Refactoring doReplSetConfig to accept a callback. - Use replset tag system to wait for config replication. - Revert kConfigMajority write concern. - Include all nodes including arbiters in config replication quorum. - Reconfig with term -1 using the current config on downgrade.
Diffstat (limited to 'src/mongo/embedded')
-rw-r--r--src/mongo/embedded/replication_coordinator_embedded.cpp6
-rw-r--r--src/mongo/embedded/replication_coordinator_embedded.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/embedded/replication_coordinator_embedded.cpp b/src/mongo/embedded/replication_coordinator_embedded.cpp
index fabaa6f64f5..0238e7ea547 100644
--- a/src/mongo/embedded/replication_coordinator_embedded.cpp
+++ b/src/mongo/embedded/replication_coordinator_embedded.cpp
@@ -346,6 +346,12 @@ Status ReplicationCoordinatorEmbedded::processReplSetReconfig(OperationContext*,
UASSERT_NOT_IMPLEMENTED;
}
+Status ReplicationCoordinatorEmbedded::doReplSetReconfig(OperationContext* opCtx,
+ GetNewConfigFn getNewConfig,
+ bool force) {
+ UASSERT_NOT_IMPLEMENTED;
+}
+
Status ReplicationCoordinatorEmbedded::processReplSetInitiate(OperationContext*,
const BSONObj&,
BSONObjBuilder*) {
diff --git a/src/mongo/embedded/replication_coordinator_embedded.h b/src/mongo/embedded/replication_coordinator_embedded.h
index a0028c7591b..9bff367083c 100644
--- a/src/mongo/embedded/replication_coordinator_embedded.h
+++ b/src/mongo/embedded/replication_coordinator_embedded.h
@@ -190,6 +190,10 @@ public:
const ReplSetReconfigArgs&,
BSONObjBuilder*) override;
+ Status doReplSetReconfig(OperationContext* opCtx,
+ GetNewConfigFn getNewConfig,
+ bool force) override;
+
Status processReplSetInitiate(OperationContext*, const BSONObj&, BSONObjBuilder*) override;
Status processReplSetUpdatePosition(const repl::UpdatePositionArgs&, long long*) override;