-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.1.9
-
Component/s: Testing Infrastructure
-
None
-
Fully Compatible
-
ALL
-
-
QuInt B (11/02/15)
-
0
resmoke.py only verifies that the master and slave in the deployment are reachable, but does not wait for the slave to finish its initial sync. It is possible for a test to finish before the initial sync such that when the slave goes to apply the oplog entries, it causes an error. For example, renaming a collection could fail due to the target namespace already existing on the slave from the initial clone.
class MasterSlaveFixture(interface.ReplFixture): ... def await_ready(self): self.master.await_ready() self.slave.await_ready()
The solution is to do a replicated write of w=2 during the await_ready() function before running any tests.