[SERVER-24148] splitVector should check if given chunk exists Created: 16/May/16 Updated: 06/Dec/22 Resolved: 19/May/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.3.5 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Randolph Tan | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
Unlike the splitChunk command, splitVector does not check if the chunk with the exact boundaries exists before performing a scan on the specified range. This can lead to unnecessary work done by the splitVector since the result will be unusable by the splitChunk command. This is because it will be rejected by the chunk exists check. |
| Comments |
| Comment by Andy Schwerin [ 19/May/16 ] |
|
I'm pretty sure the hadoop connector uses splitVector, and this change would really just be detecting an error made by the splitting code (in mongos). The splitVector operation as written works as desired. |
| Comment by Randolph Tan [ 17/May/16 ] |
|
The main use case for splitVector is for splitting chunks and it would be pointless to call it on an input that can produce an output that cannot be used for splitting. It's more of an optimization as opposed to correctness. |
| Comment by Andy Schwerin [ 17/May/16 ] |
|
I'm not sure this is a bug. |