Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-13460

Investigate changes in SERVER-44812: Expose the commitment of the current config

      Description

      Downstream Change Summary

      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.)

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              3 years, 51 weeks ago