[SERVER-28148] Move shard chunk metadata refresh retry loop from ShardingState into MetadataLoader Created: 28/Feb/17 Updated: 27/Oct/23 Resolved: 22/Mar/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Dianna Hohensee (Inactive) |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
Move this retry do-while loop into MetadataLoader. ShardingState should not need to know that RemoteChangeDetected errors should be retried, MetadataLoader should just do it. This will also become important when the flow of operations in shard chunk metadata refresh becomes more complicated as part of the safe secondary reads project. Specifically, we will need to load the locally persisted chunk metadata before trying to refresh from the config server, say. This logic should not be handled by ShardingState, but rather the MetadataLoader. Create a MetadataLoader::refresh function that will have a retry loop around MetadataLoader::makeCollectionMetadata. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 22/Mar/17 ] |
|
MetadataLoader has been deleted. Closing ticket |