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

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

    XMLWordPrintableJSON

Details

    Description

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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:
              3 years, 40 weeks, 6 days ago