-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
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.
- causes
-
SERVER-48206 ReplSetTest#stopSet() no longer detects if a mongod process has crashed unexpectedly
- Closed
- is duplicated by
-
SERVER-22080 add a fire and forget shutdown method to the shell
- Closed
- is related to
-
SERVER-44460 reconfig.js should add last node back into config before stopping the test
- Closed
- related to
-
SERVER-27342 Do not block unnecessarily on connecting to mongod or finishing initiate in ReplSetTest and ShardingTest
- Closed