[DOCS-13200] Investigate changes in SERVER-42273: Introduce a "force" option to `moveChunk` to allow migrating jumbo chunks Created: 05/Nov/19 Updated: 13/Nov/23 Due: 24/Apr/20 Resolved: 06/May/20 |
|
| Status: | Closed |
| Project: | Documentation |
| Component/s: | manual, Server |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.1, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Backlog - Core Eng Program Management Team | Assignee: | Kay Kim (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Days since reply: | 3 years, 40 weeks ago | ||||||||
| Epic Link: | DOCS: 4.4 Server Release Work | ||||||||
| Description |
DescriptionDownstream Change Summary This ticket changes the behavior of chunk migration such that it is now possible to “force” a jumbo chunk to be migrated. There are changes to both the ‘moveChunk’ command as well as balancer configuration settings. Changes to moveChunk command: Changes to balancer configuration settings:
If 'attemptToBalanceJumboChunks' is set to true, the balancer will schedule migrations that attempt to move large chunks as long as the chunk is not marked 'jumbo' in config.chunks. A chunk is marked 'jumbo' only after an attempt to split or move a large chunk has failed because of its size or the size of the transfer mods queue. The balancer should not continually try to schedule the migration of a chunk that has failed for either of these reasons previously to avoid the risk of forever scheduling the same migration. A user can run 'clearJumboFlag' so that the balancer with schedule this migration in the future, or they can choose to use the moveChunk command to manually move the chunk. Unlike the new behavior of the moveChunk command above, the donor shard will not enter the critical section early, and if the transfer mods queue (queue of writes that modify any documents being migrated) surpasses 500MB of memory the migration will fail. This is to avoid unintended "down time" in the case a user was unaware that moving a large chunk can cause a long period of time where ops are blocked on this collection. Changes to shard removal: Description of Linked TicketCurrently, if a chunk is larger than 64MB by default or 1GB max, the balancer will mark it as jumbo and will refuse to move it. It is possible to manually issue a moveChunk command and pass the unsupported and undocumented maxChunkSizeBytes parameter, which will override the check for max chunk size, but even with this, given sufficient write load to the chunk being migrated, the memory usage on the donor shard could exceed 500MB in which case migration will still fail. This ticket proposes adding a new forceJumbo option to the moveChunk command in order to allow large chunks to be migrated at the possible expense of blocking writes to the owning collection on the shard in question. The option will have the following deviation from the way it currently operates:
Scope of changesImpact to Other DocsMVP (Work and Date)Resources (Scope or Design Docs, Invision, etc.) |
| Comments |
| Comment by Githook User [ 06/May/20 ] |
|
Author: {'name': 'Kay Kim', 'email': 'kay.kim@10gen.com', 'username': 'kay-kim'}Message: |