-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
v5.0, v4.4
-
Service Arch 2021-06-28, Service Arch 2021-07-12, Service Arch 2021-08-09
-
143
-
4
Mirrored reads are not propagating the shardVersion field to the command that it is send to the secondary nodes (e.g. find command ). This causes some performance issues (SERVER-47953 (follow-up of HELP-15484)) when a secondary steps up: due to the lack of the shard version, mirrored commands don't have the INCLUDE_SHARD_FILTER query phase, which is the phase that ends up refreshing the routing table.
The goal of this task is to extend the void appendMirrorableRequest(BSONObjBuilder* bob) function to also propagate the shardVersion field.
Affected versions: this issue is in 4.4 and master (the original concern was raised on 4.4).
- causes
-
SERVER-72532 CommandNotFound: no such command: 'shardVersion'
- Closed
- is depended on by
-
SERVER-47953 Improve performance of cached collection refresh during cache warming
- Closed
- is related to
-
SERVER-97043 Evaluate the effectiveness of propagating shard version via mirrored reads
- Backlog
- related to
-
SERVER-60804 Remove shard version checks from cursor_valid_after_shard_stepdown
- Closed
-
SERVER-79471 Mirrored reads should include databaseVersion in addition to shardVersion
- Closed