Details
-
Improvement
-
Resolution: Done
-
Major - P3
-
None
-
None
-
None
Description
Currently, drivers determine cluster capabilities based on the mongos ismaster result. When the mongos has a different version than one or more shards, drivers can issue commands based on the mongos reported wire protocol version that will fail when distributed to shards that don't support it.
If a mongos ismaster synthesized wire versions across shards and returned the lowest maxWireVersion and highest minWireVersion between itself and the primary of each shard, that would allow drivers to limit operations to things that will succeed when distributed to shards.