Description
The optimality of our rebalances in terms of minimizing data movement varys quite a bit. Swap rebalances are basically optimal as we simply move vbuckets from the node(s) moving out to the nodes moving in and no other vbuckets get shuffled around. This is great as swap rebalances are very commonly performed.
Rebalances-in and rebalances-out on the other hand can result in quite a bit of shuffling which unnecessarily extends rebalance. This is particularly unfortunate post-failover when it's desirable to recreate all the missing replicas as quickly as possible in order to minimize the amount of time that the cluster is vulnerable to data loss if another node failure hits.