-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
The transactions spec gives some guidance to avoid StableDbVersion errors on sharded clusters. The unified spec runner has some code written for this but it a) is never run, and b) is not implemented correctly.
The basic fix for a) is to replace these lines with:
const topologyType = ctx.configuration.topologyType; if (topologyType === TopologyType.Sharded || topologyType === TopologyType.LoadBalanced) {
But the bigger issue here is that the clients used to execute these operations are also the clients under test, so they:
- erroneously collect command events for these "utility" tasks
- are susceptible to incompatible configurations, such as a strict API version for the stable api tests, which will not permit the unstable distinct command
The old test runner creates utility clients for all possible hosts, though the implementation was brittle (subject to duplicate clients, and lacking any required URI parameters, such as loadBalanced).