[SERVER-78909] KeysCollectionManager::getKeysForValidation() should retry refreshing if the refresh failed with ReadConcernMajorityNotAvailableYet Created: 12/Jul/23 Updated: 05/Feb/24 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | Jason Zhang |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | sharding-nyc-subteam3 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Sharding NYC
|
||||
| Sprint: | Sharding NYC 2023-08-21, Sharding NYC 2023-09-04, Sharding NYC 2023-09-18, Sharding NYC 2023-10-02, Sharding NYC 2023-10-16, Sharding NYC 2023-10-30, Cluster Scalability 2023-11-13, Cluster Scalability 2023-11-27, Cluster Scalability 2023-12-11, Cluster Scalability 2023-12-25, Cluster Scalability 2024-1-8, Cluster Scalability 2024-1-22, Cluster Scalability 2024-2-5, Cluster Scalability 2024-2-19 | ||||
| Participants: | |||||
| Linked BF Score: | 5 | ||||
| Story Points: | 2 | ||||
| Description |
|
Currently, if a client runs a command inside a session against a node right after it restarts, the command can fail clusterTime key validation with KeyNotFound if no majority committed snapshot was taken before the restart. Making KeysCollectionManager::getKeysForValidation() keep retrying the refresh if it fails with ReadConcernMajorityNotAvailableYet errors would allow such commands to succeed instead of failing with KeyNotFound errors. |