[SERVER-25876] Determine the errors on which MigrationSourceManager::commitDonateChunk doesn't need to do a chunk metadata refresh. Created: 30/Aug/16 Updated: 06/Dec/22 Resolved: 08/Sep/16 |
|
| 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: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Sharding
|
| Sprint: | Sharding 2016-10-10 |
| Participants: |
| Description |
|
When ErrorCodes::BalancerLostDistributedLock is received, there's no need to refresh the chunk metadata to find out whether it's okay to fail the command normally or the shard must fassert because the state is unrecoverable. There may be other errors as well that the CommitChunkMigration command returns where it is assured the command can safely fail without any concern about corrupt metadata. Check out whether the RemoteCommandRetryScheduler::kAllRetriableErrors or RemoteCommandRetryScheduler::kNotMasterErrors sets of error codes can be used in some way. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 08/Sep/16 ] |
|
This would probably require future maintenance of the error list if any changes are made to the CommitChunkMigration command, so it isn't worth the maintenance cost. |