Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-24011

ReplSetTest full support for adding/removing nodes

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Icon: Major - P3 Major - P3
    • None
    • 3.3.5
    • Replication
    • None
    • Replication

    Description

      The code is structured today such that one could call add() to add a node to the ReplSetTest internal state tracking, and then reInitiate() to reconfigure the replica set with the new node. However, reInitiate() loses custom config options that were originally used when constructing the ReplSetTest.

      It looks like this is caused by the method constructing the new config document purely based on membership (via getReplSetConfig) and not based on the current settings (via getReplSetConfigFromNode):

      https://github.com/mongodb/mongo/blob/r3.3.5/src/mongo/shell/replsettest.js#L629

      this.reInitiate = function() {
          var config = this.getReplSetConfig();
          var newVersion = this.getReplSetConfigFromNode().version + 1;
      

      Attachments

        Activity

          People

            backlog-server-repl Backlog - Replication Team
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: