[SERVER-30701] ChunkManager can contain chunks that refer to shards that were removed Created: 16/Aug/17 Updated: 06/Dec/22 Resolved: 13/Aug/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.4.14, 3.5.11, 3.6.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Randolph Tan | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | ShardingRoughEdges | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding
|
||||||||
| Participants: | |||||||||
| Description |
|
After a shard has been removed, the ShardRegistry can refresh itself and remove the shard. However, it is possible that the ChunkManager to continue on having chunks that refer to the removed shard and get a ShardNotFound error. One example is the validate command. It uses the ChunkManager to get the list of shards to run the command to, and it will get ShardNotFound error before it even tries to send it. |
| Comments |
| Comment by Randolph Tan [ 16/Aug/17 ] |
|
One possible improvement is to treat ShardNotFound errors like StaleConfigException and potentially refresh the relevant ChunkManagers as well. |