In order to perform this insertion the mongos will try to fetch the collection information from the config replica set, it will use nearest read preference and a majority read concern with the lastest opTime he is aware of. Obviously this insertion could fail if the request hit a secondary node of the config repl that is not able to satisfy the specified majority read concern.
The problem is that the test doesn't guarantees that the requested optime has been replicated to all secondaries when that insertion is executed, in fact between the awaitReplication and the stop of the replication on the config replica set, the opTime could be bumped on the mongos.
In particular in the test we saw that the uptime reporter on the mongos could ran in this time window (from awaitReplication to stopReplication) and cause the optime to bump.
The proposed solution is to move the awaitReplication just before the stopReplication call
- is related to
-
SERVER-42632 Disable pinger threads that reach out to config server to make integration tests pass
- Closed
-
SERVER-51775 Failpoint to disable periodic uptime reporter thread should instead just disable uptime reporting
- Closed