diff options
author | Siyuan Zhou <siyuan.zhou@mongodb.com> | 2020-02-24 01:22:36 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-29 00:02:40 +0000 |
commit | 6c0645af5999ef52579c04f1b6fff422bd89da3c (patch) | |
tree | d8ce20701fef24f7ed9f2691e4972b792487f53e /src/mongo/embedded | |
parent | 2d8f351c2640f402027a2fc0c51628db8d4f85b1 (diff) | |
download | mongo-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.cpp | 6 | ||||
-rw-r--r-- | src/mongo/embedded/replication_coordinator_embedded.h | 4 |
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; |