[DOCS-10962] Document balancer 3.2 vs 3.4 Created: 29/Oct/17  Updated: 31/Oct/22

Status: Closed
Project: Documentation
Component/s: Server
Affects Version/s: 3.4.0
Fix Version/s: 3.4.0

Type: Improvement Priority: Major - P3
Reporter: Renato Riccio Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

https://docs.mongodb.com/manual/tutorial/migrate-chunks-in-sharded-cluster/

https://docs.mongodb.com/manual/core/sharding-balancer-administration/


Participants:
Days since reply: 1 year, 14 weeks, 2 days ago
Epic Link: DOCSP-1769
Story Points: 1

 Description   

We should write in one place the different behavior of the balancer in MongoDB 3.2 vs MongoDB 3.4

3.2:

  • The balancer will balance only one collection at a time among the entire cluster.
  • Only one chunk is moved at a time.
  • It’s possible to run manually moveChunk operations on two different collections if they do not impact the same shards. Ex. for collection1 move a chunk from Shard0 to Shard1, for collection2 move a chunk from Shard2 to Shard3.

3.4:

  • For the same collection is possible to have two migrations ongoing at the same time on two different couple of shards (ex Shard0->Shard1, Shard3->Shard4).
  • MongoDB can perform at most n/2 (rounded down) simultaneous chunk migrations.
  • The balancer is able to balance more than one collection at a time with the caveat that the auto-balancer will favor balancing one collection fully before looking for other collections. This means if you have 2 collections eligible for balancing, but collection1 has many chunks to be moved, it will always fill up the available shard pairs on each round and the second collection will not be picked up until collection1 is done balancing.
    For example, the following scenario is possible:
    + Shard0->Shard1 (migration for collection1)
    + Shard2->Shard3 (migration for collection1)
    + Shard4->Shard5 (migration for collection2)
    On the other hand if collection1 has chunks which needed to be balanced from Shard4 to Shard5, the entry for collection2 above would not be selected by the auto-balancer, but instead, some chunk from collection1 would be.
  • It’s possible to run manually moveChunk operations on two different collections if they do not impact the same shards. Ex. for collection1 move a chunk from Shard0 to Shard1, for collection2 move a chunk from Shard2 to Shard3.


 Comments   
Comment by Education Bot [ 31/Oct/22 ]

Hello! This ticket has been closed due to inactivity. If you believe this ticket is still important, please reopen it and leave a comment to explain why. Thank you!

Generated at Thu Feb 08 08:01:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.