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

Shut down mongod nodes in parallel in ReplSetTest

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • Repl 2019-11-04, Repl 2019-11-18

      In the ReplSetTest.stopSet function, we call ReplSetTest.stop sequentially for each node in the replica set. This in turn calls MongoRunner.stopMongod for each replica set node. By default, when MongoRunner shuts down a mongod node, it will call waitpid on the underlying process before continuing. This means that in ReplSetTest.stopSet we need to wait for a mongod to shut down cleanly before moving on and shutting down the next node. We could speed up this process by having a way in MongoRunner to shut down a process without calling waitpid on it. In ReplSetTest, after initiating shutdown on each node (and not blocking), we could go through each process and call waitProgram on its process id, which will call waitpid. This should speed up the shutdown process in ReplSetTest and reduce test times for both local testing and, ideally, overall Evergreen test suite durations.

            Assignee:
            william.schultz@mongodb.com William Schultz (Inactive)
            Reporter:
            william.schultz@mongodb.com William Schultz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: