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).