-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Fully Compatible
-
v3.4
-
TIG 2017-05-08
-
0
The ReplSetTest.prototype.checkReplicaSet() function drops the dummy database to avoid leaving around any unnecessary data files; however, repeatedly creating and dropping a database with a unique name incurs a significant amount of I/O overhead when running with the MMAPv1 storage engine since data files must be allocated and deleted each time, respectively. Given that the procedure for flushing any pending background index builds is performed by running a "collMod" command for each collection, there's no requirement that the database for the w=all replicated write needs to have a unique name.
// Since we cannot determine if there is a background index in progress (SERVER-26624), // we flush indexing as follows: // 1. Iterate through all collections and run collMod against each (collMod will block // replication to wait for any active background index builds to complete) // 2. Insert a document into a dummy collection with a writeConcern for all nodes (which // will block on completion of the background index build + collMod)
- depends on
-
SERVER-25196 collMod should support writeConcern
- Closed
-
SERVER-28507 Make all command implementations ignore arguments that are handled by the command dispatcher
- Closed
- is duplicated by
-
SERVER-33498 ReplSetTest.checkReplicaSet fails when run against a config server replica set.
- Closed
- is related to
-
SERVER-26624 Create test command that will block until all background operations complete
- Closed
- related to
-
SERVER-30900 remove collMod writeConcern argument from ReplSetTest.checkReplicaSet()
- Closed