[SERVER-74568] SdamServerSelector sometimes doesn't fully respect client readPreference for config shard Created: 02/Mar/23 Updated: 29/Oct/23 Resolved: 10/Apr/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | Wenqin Ye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Sharding NYC
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Sprint: | Sharding NYC 2023-04-17 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 154 | ||||||||||||||||
| Description |
|
Currently, the SdamServerSelector has the logic to ignore the minClusterTime in the readPreference given to it if the timestamp is not satisfiable. When constructing the effective readPreference, it only gives 'pref' to the constructor. Consequently, the other configurations such as 'tags', 'maxStalenessSeconds', and 'hedgingMode' all get lost. For shard remote targeting at least, minClusterTime is only specified when the shard is the config shard. Prior to PM-2290, there probably isn't a case where the config server is targeted with readPreference that contains tags and so on. That might be why this issue never surfaced. Starting from PM-2290, this is a bug that needs to be addressed since it can result in the external client readPreference not being fully respected (as shown in BF-27925), |
| Comments |
| Comment by Githook User [ 10/Apr/23 ] |
|
Author: {'name': 'wenqinYe', 'email': 'wenqin908@gmail.com', 'username': 'wenqinYe'}Message: |
| Comment by Jack Mulrow [ 21/Mar/23 ] |
|
Scheduling for the end of this project because it's possible either |