You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by Kanak Biscuitwala <ka...@apache.org> on 2014/01/21 22:12:02 UTC
Re: Review Request 16402: [HELIX-345] Speed up the controller pipelines for
0.7
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16402/
-----------------------------------------------------------
(Updated Jan. 21, 2014, 1:11 p.m.)
Review request for helix, Zhen Zhang and Kishore Gopalakrishna.
Changes
-------
This turned into a large change for 0.7.x:
- Cache messages
- Get ideal state, live instance, and instance config changes directly from the callback
- Only read and write new properties (e.g. resource assignments) when absolutely necessary
- Cache rebalancer instances across pipeline runs (necessary to prevent multiple init calls as well)
- Stop reading things like stats and alerts
- Reduce the amount of conversions between string maps and typed maps
- Fix test issues that were exposed
Bugs: HELIX-345
Repository: helix-git
Description
-------
Optimized the following:
- cached messages across pipeline runs
- cached the HelixRebalancer instance for each resource
- spawned threads to read resources and participants in parallel
- started using caching and batching when persisting resource assignments
- instrumented all pipeline stages with the timing logs
commit 5758421ce71c37118423a543bf15569f4c697019
Author: Kanak Biscuitwala <ka...@apache.org>
Date: Thu Dec 19 13:52:56 2013 -0800
[HELIX-345] Speed up the controller pipelines for 0.7
:100644 100644 36c7aaa... 38da1b9... M helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java
:100644 100644 ec812b2... fcbf45f... M helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
:100644 100644 532ecb5... 6cdd304... M helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
:100644 100644 8235173... a888dc7... M helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
:100644 100644 ef5a5fd... 97734a6... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java
:100644 100644 966160c... 0ce132b... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
:100644 100644 764b422... f941826... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
:100644 100644 45fc355... fd37a2f... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
:100644 100644 7c2cc0f... ece4209... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java
:100644 100644 2279d76... 378eb61... M helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
:100644 100644 5b75535... f141aa3... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
:100644 100644 470de2c... fbc75be... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
:100644 100644 c48f156... 5a4bd2d... M helix-core/src/main/java/org/apache/helix/controller/stages/StatsAggregationStage.java
:100644 100644 471530c... a530836... M helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java
:100644 100644 9ec1ef9... 2d577ca... M helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java
:100644 100644 919eb00... a89d27f... M helix-core/src/test/java/org/apache/helix/Mocks.java
Diffs (updated)
-----
helix-core/src/main/java/org/apache/helix/ConfigAccessor.java f46e537
helix-core/src/main/java/org/apache/helix/api/Cluster.java 98072d1
helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java 36c7aaa
helix-core/src/main/java/org/apache/helix/api/accessor/ResourceAccessor.java 80c5b16
helix-core/src/main/java/org/apache/helix/api/config/ClusterConfig.java 22a1528
helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java 9fef2da
helix-core/src/main/java/org/apache/helix/controller/rebalancer/FullAutoRebalancer.java 0c55d45
helix-core/src/main/java/org/apache/helix/controller/rebalancer/RebalancerRef.java 974222d
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/CustomRebalancerConfig.java 73c3ccc
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/FullAutoRebalancerConfig.java 828d509
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/PartitionedRebalancerConfig.java 2c9769d
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/RebalancerConfigHolder.java 8581732
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/SemiAutoRebalancerConfig.java bfc3309
helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java ec812b2
helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java 6f09d26
helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java 532ecb5
helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java 8235173
helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java 977b661
helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java ef5a5fd
helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java 966160c
helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java 764b422
helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java 45fc355
helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java 7c2cc0f
helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java 2279d76
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java 5b75535
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java 470de2c
helix-core/src/main/java/org/apache/helix/controller/stages/TaskAssignmentStage.java bc2ee50
helix-core/src/main/java/org/apache/helix/controller/strategy/AutoRebalanceStrategy.java bff7e46
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java 471530c
helix-core/src/main/java/org/apache/helix/model/IdealState.java 173e251
helix-core/src/main/java/org/apache/helix/model/ResourceAssignment.java 6da3dc2
helix-core/src/main/java/org/apache/helix/model/ResourceConfiguration.java 8c5b863
helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java d1bce56
helix-core/src/main/java/org/apache/helix/task/TaskUtil.java a9428c6
helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java a0959cc
helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java 1563769
helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java 9ec1ef9
helix-core/src/test/java/org/apache/helix/Mocks.java 919eb00
helix-core/src/test/java/org/apache/helix/api/TestNewStages.java ab4ead0
helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java 2e17ad3
helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java ece46ff
helix-core/src/test/java/org/apache/helix/integration/TestSchedulerMessage.java 30f5807
helix-core/src/test/java/org/apache/helix/integration/TestUserDefRebalancerCompatibility.java 27004fe
Diff: https://reviews.apache.org/r/16402/diff/
Testing
-------
Tests pass locally. Reading the cluster is up to 30% faster.
Thanks,
Kanak Biscuitwala
Re: Review Request 16402: [HELIX-345] Speed up the controller pipelines for
0.7
Posted by Zhen Zhang <ne...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16402/#review34896
-----------------------------------------------------------
Ship it!
Ship It!
- Zhen Zhang
On Feb. 3, 2014, 6:47 p.m., Kanak Biscuitwala wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16402/
> -----------------------------------------------------------
>
> (Updated Feb. 3, 2014, 6:47 p.m.)
>
>
> Review request for helix, Zhen Zhang and Kishore Gopalakrishna.
>
>
> Bugs: HELIX-345
>
>
> Repository: helix-git
>
>
> Description
> -------
>
> Optimized the following:
> - cached messages across pipeline runs
> - cached the HelixRebalancer instance for each resource
> - spawned threads to read resources and participants in parallel
> - started using caching and batching when persisting resource assignments
> - instrumented all pipeline stages with the timing logs
>
> commit 5758421ce71c37118423a543bf15569f4c697019
> Author: Kanak Biscuitwala <ka...@apache.org>
> Date: Thu Dec 19 13:52:56 2013 -0800
>
> [HELIX-345] Speed up the controller pipelines for 0.7
>
> :100644 100644 36c7aaa... 38da1b9... M helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java
> :100644 100644 ec812b2... fcbf45f... M helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
> :100644 100644 532ecb5... 6cdd304... M helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
> :100644 100644 8235173... a888dc7... M helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
> :100644 100644 ef5a5fd... 97734a6... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java
> :100644 100644 966160c... 0ce132b... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
> :100644 100644 764b422... f941826... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
> :100644 100644 45fc355... fd37a2f... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
> :100644 100644 7c2cc0f... ece4209... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java
> :100644 100644 2279d76... 378eb61... M helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
> :100644 100644 5b75535... f141aa3... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
> :100644 100644 470de2c... fbc75be... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
> :100644 100644 c48f156... 5a4bd2d... M helix-core/src/main/java/org/apache/helix/controller/stages/StatsAggregationStage.java
> :100644 100644 471530c... a530836... M helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java
> :100644 100644 9ec1ef9... 2d577ca... M helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java
> :100644 100644 919eb00... a89d27f... M helix-core/src/test/java/org/apache/helix/Mocks.java
>
>
> Diffs
> -----
>
> helix-core/src/main/java/org/apache/helix/ConfigAccessor.java f46e537
> helix-core/src/main/java/org/apache/helix/api/Cluster.java 98072d1
> helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java 36c7aaa
> helix-core/src/main/java/org/apache/helix/api/accessor/ResourceAccessor.java 80c5b16
> helix-core/src/main/java/org/apache/helix/api/config/ClusterConfig.java 22a1528
> helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java 9fef2da
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/FullAutoRebalancer.java 0c55d45
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/RebalancerRef.java 974222d
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/CustomRebalancerConfig.java 73c3ccc
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/FullAutoRebalancerConfig.java 828d509
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/PartitionedRebalancerConfig.java 2c9769d
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/RebalancerConfigHolder.java 8581732
> helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/SemiAutoRebalancerConfig.java bfc3309
> helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java ec812b2
> helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java 6f09d26
> helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java 532ecb5
> helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java 8235173
> helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java 977b661
> helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java ef5a5fd
> helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java 966160c
> helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java 764b422
> helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java 45fc355
> helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java 7c2cc0f
> helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java 2279d76
> helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java 5b75535
> helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java 470de2c
> helix-core/src/main/java/org/apache/helix/controller/stages/TaskAssignmentStage.java bc2ee50
> helix-core/src/main/java/org/apache/helix/controller/strategy/AutoRebalanceStrategy.java bff7e46
> helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java 471530c
> helix-core/src/main/java/org/apache/helix/model/IdealState.java 173e251
> helix-core/src/main/java/org/apache/helix/model/ResourceAssignment.java 6da3dc2
> helix-core/src/main/java/org/apache/helix/model/ResourceConfiguration.java 8c5b863
> helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java d1bce56
> helix-core/src/main/java/org/apache/helix/task/TaskUtil.java a9428c6
> helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java a0959cc
> helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java 1563769
> helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java 9ec1ef9
> helix-core/src/test/java/org/apache/helix/Mocks.java 919eb00
> helix-core/src/test/java/org/apache/helix/api/TestNewStages.java ab4ead0
> helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java 2e17ad3
> helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java ece46ff
> helix-core/src/test/java/org/apache/helix/integration/TestReelectedPipelineCorrectness.java PRE-CREATION
> helix-core/src/test/java/org/apache/helix/integration/TestSchedulerMessage.java 30f5807
> helix-core/src/test/java/org/apache/helix/integration/TestUserDefRebalancerCompatibility.java 27004fe
>
> Diff: https://reviews.apache.org/r/16402/diff/
>
>
> Testing
> -------
>
> Tests pass locally. Reading the cluster is up to 30% faster.
>
>
> Thanks,
>
> Kanak Biscuitwala
>
>
Re: Review Request 16402: [HELIX-345] Speed up the controller pipelines for
0.7
Posted by Kanak Biscuitwala <ka...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16402/
-----------------------------------------------------------
(Updated Feb. 3, 2014, 10:47 a.m.)
Review request for helix, Zhen Zhang and Kishore Gopalakrishna.
Changes
-------
Updated the diff to reflect the final changes in the 0.6 version. Unfortunately the full diff here is much larger than the 0.6 version for the following reasons:
- Need to make use of a global ClusterDataCache in the ClusterAccessor and the pipeline
- Caching rebalancer instances
- Fixing the issue where resource assignments were persisted unnecessarily and inefficiently
- Reducing the number of conversions between typed and string maps
Bugs: HELIX-345
Repository: helix-git
Description
-------
Optimized the following:
- cached messages across pipeline runs
- cached the HelixRebalancer instance for each resource
- spawned threads to read resources and participants in parallel
- started using caching and batching when persisting resource assignments
- instrumented all pipeline stages with the timing logs
commit 5758421ce71c37118423a543bf15569f4c697019
Author: Kanak Biscuitwala <ka...@apache.org>
Date: Thu Dec 19 13:52:56 2013 -0800
[HELIX-345] Speed up the controller pipelines for 0.7
:100644 100644 36c7aaa... 38da1b9... M helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java
:100644 100644 ec812b2... fcbf45f... M helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
:100644 100644 532ecb5... 6cdd304... M helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
:100644 100644 8235173... a888dc7... M helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
:100644 100644 ef5a5fd... 97734a6... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java
:100644 100644 966160c... 0ce132b... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
:100644 100644 764b422... f941826... M helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
:100644 100644 45fc355... fd37a2f... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
:100644 100644 7c2cc0f... ece4209... M helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java
:100644 100644 2279d76... 378eb61... M helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
:100644 100644 5b75535... f141aa3... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
:100644 100644 470de2c... fbc75be... M helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
:100644 100644 c48f156... 5a4bd2d... M helix-core/src/main/java/org/apache/helix/controller/stages/StatsAggregationStage.java
:100644 100644 471530c... a530836... M helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java
:100644 100644 9ec1ef9... 2d577ca... M helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java
:100644 100644 919eb00... a89d27f... M helix-core/src/test/java/org/apache/helix/Mocks.java
Diffs (updated)
-----
helix-core/src/main/java/org/apache/helix/ConfigAccessor.java f46e537
helix-core/src/main/java/org/apache/helix/api/Cluster.java 98072d1
helix-core/src/main/java/org/apache/helix/api/accessor/ClusterAccessor.java 36c7aaa
helix-core/src/main/java/org/apache/helix/api/accessor/ResourceAccessor.java 80c5b16
helix-core/src/main/java/org/apache/helix/api/config/ClusterConfig.java 22a1528
helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java 9fef2da
helix-core/src/main/java/org/apache/helix/controller/rebalancer/FullAutoRebalancer.java 0c55d45
helix-core/src/main/java/org/apache/helix/controller/rebalancer/RebalancerRef.java 974222d
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/CustomRebalancerConfig.java 73c3ccc
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/FullAutoRebalancerConfig.java 828d509
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/PartitionedRebalancerConfig.java 2c9769d
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/RebalancerConfigHolder.java 8581732
helix-core/src/main/java/org/apache/helix/controller/rebalancer/config/SemiAutoRebalancerConfig.java bfc3309
helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java ec812b2
helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java 6f09d26
helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java 532ecb5
helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java 8235173
helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java 977b661
helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationStage.java ef5a5fd
helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java 966160c
helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java 764b422
helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java 45fc355
helix-core/src/main/java/org/apache/helix/controller/stages/PersistContextStage.java 7c2cc0f
helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java 2279d76
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java 5b75535
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java 470de2c
helix-core/src/main/java/org/apache/helix/controller/stages/TaskAssignmentStage.java bc2ee50
helix-core/src/main/java/org/apache/helix/controller/strategy/AutoRebalanceStrategy.java bff7e46
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java 471530c
helix-core/src/main/java/org/apache/helix/model/IdealState.java 173e251
helix-core/src/main/java/org/apache/helix/model/ResourceAssignment.java 6da3dc2
helix-core/src/main/java/org/apache/helix/model/ResourceConfiguration.java 8c5b863
helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java d1bce56
helix-core/src/main/java/org/apache/helix/task/TaskUtil.java a9428c6
helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java a0959cc
helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java 1563769
helix-core/src/main/java/org/apache/helix/tools/YAMLClusterSetup.java 9ec1ef9
helix-core/src/test/java/org/apache/helix/Mocks.java 919eb00
helix-core/src/test/java/org/apache/helix/api/TestNewStages.java ab4ead0
helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java 2e17ad3
helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java ece46ff
helix-core/src/test/java/org/apache/helix/integration/TestReelectedPipelineCorrectness.java PRE-CREATION
helix-core/src/test/java/org/apache/helix/integration/TestSchedulerMessage.java 30f5807
helix-core/src/test/java/org/apache/helix/integration/TestUserDefRebalancerCompatibility.java 27004fe
Diff: https://reviews.apache.org/r/16402/diff/
Testing
-------
Tests pass locally. Reading the cluster is up to 30% faster.
Thanks,
Kanak Biscuitwala