[SERVER-4177] make multi-shard retrying due to stale versions smarter Created: 31/Oct/11 Updated: 11/Jul/16 Resolved: 06/Mar/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Greg Studer | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Description |
|
In general, when doing multi-shard operations which depend on versions, if a single or only two shards have incorrect versions the command / query needs to be retried on all shards. This is not usually necessary, and can cause unnecessary load if the command is costly (like mapreduce). Fix : figure out which shards we need to refresh, just retry commands on those servers. This wouldn't totally eliminate the problem (if detected a version change on one shard but not the other after a migrate, for example), but would make it much less likely. |
| Comments |
| Comment by Greg Studer [ 06/Mar/14 ] |
|
Fixed as part of |