-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:
Description
replSetGetConfig accepts a new optional boolean parameter "commitmentStatus". If it's true, then the reply contains a new parameter, which is also a boolean called "commitmentStatus". It's true if the most recent replica set config has been committed, meaning it's propagated to a majority of nodes, and the last write in the previous config is majority-committed in the new config. If the most recent config is committed, then it's permitted to do another reconfig.
Description of Linked Ticket
In case safe config takes a long time to get committed, Atlas needs to retry and be able to poll the status of the current config in order to run the next reconfig command.
Some options:
1. Run the next reconfig anyway and get a ConfigurationInProgress error if the previous isn't committed yet.
2. Add a dryRun option to reconifg, which only checks the commitment of the previous config without actually accepting the config.
3. Report in the response of replSetGetConfig if a new option is present.
4. Report the config status in replSetGetStatus.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
- documents
-
SERVER-44812 Expose the commitment of the current config
- Closed