-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Cluster Scalability
-
Fully Compatible
-
0
awaitCloneTimestampChosen() is used by resharding tests to ensure that the following command happens during the cloning/applying stage of the resharding operation. However, if the test does a command that is triggered by an internal thread(i.e. TTL monitor), it doesn't guarantee that the $clustertime on the donor was advanced and can't ensure that the timestamp of the next opolg entry is ahead of the chosen cloneTimestamp.
Normally, the $clusterTime gossiping would cause the timestamp to advance on donors for the next command sent through the router. Call findOne() on the donors before returning from awaitCloneTimestampChosen() to make the function more robust.