[SERVER-77402] Create ShardRole retry loop utility Created: 23/May/23 Updated: 30/Jan/24 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jordi Serra Torrens | Assignee: | Backlog - Catalog and Routing |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | PM-2144-QW-Fallout, oldshardingemea | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Catalog and Routing
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
The concept of "ShardRole retry loop" (i.e. execute something and if it throws due to this shard having stale/unknown sharding metadata then refresh and try again) is present in several places throughout the code. Examples of this are service_entry_point, resharding_data_copy_util or ttl.cpp (this last one may be a stretch since the refresh is asynchronous and there's not retry at this level). This ticket is to consider making this pattern a common utility that can be reused wherever needed. |