Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MB-7522 Optimize index state transitions (rebalance)
Optimize 2 types of common state transitions: 1) If a state transition consists only of moving partitions between the passive and active states (or vice-versa), that is, no new partitions are added nor existing partitions are marked for cleanup, don't restart the updater (at the expense of more complex logic to correct snapshots received from a currently running updater). 2) If a state transition only adds new partitions to the passive state (as ns_server's rebalance frequently calls), don't restart the updater, and send the updater the new list of passive partitions, so that it has a chance to iterate over those partitions' content and index them in the same run. As long as the rebalancer in ns_server doesn't keep changing its logic regarding state transitions all the time, this provides a significant reduction of the indexing time. However for at least some scenarios, there's still significant portion of rebalance time not spent on indexing nor index compaction. Change-Id: I2b7960fd73052ce476fbacee6c1aca4d01490d5a Reviewed-on: http://review.couchbase.org/23871 Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com> Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
- Loading branch information
Showing
10 changed files
with
514 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.