[SERVER-43835] ReplicaSetMonitor converts all failed host errors to FailedToSatisfyReadPreference Created: 04/Oct/19 Updated: 27/Oct/23 Resolved: 12/Nov/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | max-triage | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding
|
||||||||
| Participants: | |||||||||
| Description |
|
When the ReplicaSetMonitor fails to connect to a host (e.g. during TaskExecutor::scheduleRemoteCommand, it marks nodes that it failed to connect to and keeps retrying until it times out then throws FailedToSatisfyReadPreference errors. Therefore, errors such as IncompatibleServerVersion are not returned to the client. |
| Comments |
| Comment by Max Hirschhorn [ 12/Nov/21 ] |
|
After discussing with Chou, we believe the new replica set monitor (4.4) correctly returns IncompatibleServerVersion and this issue only applied to the old implementation. |