[SERVER-13024] Clear the 'jumbo' flag from the chunk document when the chunk is no longer over-sized Created: 04/Mar/14 Updated: 01/Feb/24 |
|
| Status: | Blocked |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | William Zola | Assignee: | Backlog - Catalog and Routing |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | car-product-sync, oldshardingemea | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| Assigned Teams: |
Catalog and Routing
|
||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Currently, if the balancer goes to split a chunk and cannot, the chunk gets marked as 'jumbo', which will prevent the balancer from migrating that chunk and from trying to split it again. If in the future, documents are deleted from that shard key range or the cluster's chunksize setting changes, the chunk itself may no longer be 'jumbo', but MongoDB will not clear the 'jumbo' flag from that chunk. If you have a system where documents are short-lived (say, one week) and are then removed from the system, this will result in a system with a large number of chunks that are incorrectly marked 'jumbo'. In addition, the number of 'jumbo' chunks will grow over time. |
| Comments |
| Comment by Kaloian Manassiev [ 06/Nov/21 ] |
|
tommaso.tocci, I believe this might belong under the AutoSplitter project's subsequent milestones (if we will be doing something smarter around tracking deletes). |
| Comment by Kaloian Manassiev [ 27/Jul/18 ] |
|
One thing that should also be noted is that since the balancer utilizes the catalog cache to get the jumbo status of chunks, it is not sufficient to just unset the jumbo field on the chunk, because due to incremental refresh these changes will not be seen in the balancer's cache. |