-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
This function consults the routing information to build requests for a specified list of shards and attaches the `dbVersion` to all shards if there is no routing table in the chunk manager.
While the function correctly handles shard version, the issue arises when using the database version protocol. It should only append the `dbVersion` if there is exactly one shard and it is the primary shard according to the routing information.
Currently, we have identified at least one misuse of this function: when `mergeShardId` is selected as the config server, but the routing information is taken from a different database. This scenario occurs through the `$listClusterCatalog` aggregation. However, I suspect that there are other misuses of this function.
SERVER-101621 temporarily prevented these misuses from versioning the command. However, we should inspect each case and either use the correct routing information or avoid calling this function to version the command. After that, we can add a tassert with stricter guarantees when this function is called.
- is depended on by
-
SERVER-101691 Ensure that commands are only sent with a valid <DBV, SV> combination
-
- Blocked
-
- related to
-
SERVER-101621 `buildVersionedRequests` from `cluster_command_helpers` is incorrectly using the database version protocol
-
- Closed
-