This is an automated email from the ASF dual-hosted git repository.
jiajunwang pushed a change to branch wagedRebalancer
in repository https://gitbox.apache.org/repos/asf/helix.git.
discard 302e1e7 Asynchronously calculating the Baseline (#632)
omit 4206500 Refine methods name and comments. (#664)
omit 138d1c6 Refine the WAGED rebalancer to minimize the partial rebalance
workload. (#639)
omit f6cd078 Improve the algorithm so it prioritizes the assignment to the
idle nodes when the constraint evaluation results are the same (#651)
omit 95a7339 Decouple the event type and the scheduled rebalance cache
refresh option. (#638)
omit 17b5c93 Add new WAGED rebalancer config item
"GLOBAL_REBALANCE_ASYNC_MODE". (#637)
omit 7bb4f2b Simply and enhance the RebalanceLatencyGauge so it can be
used in multi-threads. (#636)
omit 6aa8184 Fix a potential issue in the ResourceChangeSnapshot. (#635)
omit 03c0b30 Add REST API endpoints for WAGED Rebalancer (#611)
omit ac0256e Fix the unstable test TestZeroReplicaAvoidance. (#603)
omit 5f51ff4 Improve the WAGED rebalancer performance. (#586)
omit 0d7033a Change calculation for baseline divergence. (#598)
omit ca93db4 Add Java API for adding and validating resources for WAGED
rebalancer (#570)
omit 524c258 Change ClusterConfig.setDefaultCapacityMap to be private.
(#590)
omit be1a4f6 Introduce Dry-run Waged Rebalancer for the verifiers and
tests. (#573)
omit 6b02162 Filter resource map with ideal states for instance capacity
metrics. (#574)
omit 5fcf0f8 Avoid redundant writes in AssignmentMetadataStore (#564)
omit 19fa29c Fix formula incorrection in the comment for measuring
baseline divergence. (#559)
omit 9bc8060 Add max capacity usage metric for instance monitor. (#548)
omit 153a59b Use a deep copy of the new best possible assignment for
measuring baseline divergence. (#542)
omit 1631bae Refine ivy file config. The org were not configured
correctly. (#551)
omit 4d4418b Add the new Rebalancer monitor domain to the active domain
list. (#550)
omit ee212de Fix a missing parameter when the WAGED rebalancer init the
change detector. (#547)
omit 11fe5f1 Modify the ivy file to add the new math3 lib dependency.
(#546)
omit e002a31 Implement increment() method in CountMetric class. (#537)
omit 9f77982 Adjust the replica rebalance calculating ordering to avoid
static order. (#535)
omit 9af4c4f Minor fix for the constraints related tests. (#545)
omit f17fcdc Refactor soft constraints to simply the algorithm and fix
potential issues. (#520)
omit 788ffcf Change change detector to a regular field in the WAGED
rebalancer instead of static threadlocal. (#543)
omit cdc7109 Make WagedRebalancer static by creating a ThreadLocal (#540)
omit 1842990 Refine the rebalance scope calculating logic in the WAGED
rebalancer. (#519)
omit 02141ab Implement monitoring mbeans for the WAGED rebalancer. (#525)
omit 21bf399 Make log clearer after finishing calculateAssignment. (#531)
omit eb78edc The WAGED rebalancer returns the previously calculated
assignment on calculation failure (#514)
omit 8f9b3e2 Increase parallelism for ZkBucketDataAccessor (#506)
omit def2856 More strict partition weight validation while creating the
cluster model. (#511)
omit 0e698d8 Fixing rebalance cache issue and stablize the tests. (#510)
omit dadc021 Add latency metric components for WAGED rebalancer (#490)
omit 3f1c294 Load soft constraint weight from resources/properties file
(#492)
omit d797b4c Adjust the topology processing logic for instance to ensure
backward compatibility.
omit 98778ed Enable maintenance mode for the WAGED rebalancer.
omit 4ad6056 Add delayed rebalance and user-defined preference list
features to the WAGED rebalancer. (#456)
omit 06c9f96 Separate AssignableNode properties by Immutable and Mutable
(#485)
omit 64ae736 Integrate the WAGED rebalancer with all the related
components. (#466)
omit 95a2e4e Add the remaining implementation of
ConstraintBasedAlgorithmFactory (#478)
omit fbfb893 PartitionMovementSoftConstraint Implementation (#474)
omit 77ecdb9 Adjust the expected replica count according to fault zone
count. (#476)
omit ca8a114 Improve ResourceTopStateAntiAffinityConstraint (#475)
omit e858448 Add soft constraint: ResourcePartitionAntiAffinityConstraint
(#464)
omit 6b29b72 Implement MaxCapacityUsageInstanceConstraint soft constraint
(#463)
omit c7a303b Add soft constraint: ResourcetopStateAntiAffinityConstraint
(#465)
omit 313d23b Implement one of the soft constraints (#450)
omit 5d8dbcd Fix TestWagedRebalancer and add constructor in
AssignmentMetadataStore
omit baaabf2 Implement AssignmentMetadataStore (#453)
omit ab5745c HardConstraints Implementation and unit tests (#433)
omit 723331d Implement the WAGED rebalancer with the limited
functionality. (#443)
omit ec60cce Validate the instance capacity/partition weight configuration
while constructing the assignable instances (#451)
omit dc59a6e Implement the basic constraint based algorithm (#381)
omit a1c4b81 Add BucketDataAccessor for large writes
omit 2300d2b Record the replica objects in the AssignableNode in addition
to the partition name (#440)
omit 8e599f8 Add special treatment for ClusterConfig
omit bef2f47 Modify the expected change type from CONFIG to CLUSTER_CONFIG
in the WAGED rebalancer. (#438)
omit 675eadb Resubmit the change: Refine the WAGED rebalancer related
interfaces for integration (#431)
omit 1a65289 Revert "Refine the WAGED rebalancer related interfaces for
integration (#431)" (#437)
omit b63dcde Refine the WAGED rebalancer related interfaces for
integration (#431)
omit dd3641c Redefine the hard/soft constraints (#422)
omit f7c249d Add ChangeDetector interface and ResourceChangeDetector
implementation (#388)
omit f9c2b6f Add cluster level default instance config. (#413)
omit b2bd287 Implement Cluster Model Provider. (#392)
omit 3496a04 Convert all the internal assignment state objects to be
ResourceAssignment. (#399)
omit a1ca120 Change the rebalancer assignment record to be
ResourceAssignment instead of IdealState. (#398)
omit f5065be Implement the WAGED rebalancer cluster model (#362)
omit 69296f9 Adding the configuration items of the WAGED rebalancer. (#348)
omit 1652bf0 Define the WAGED rebalancer interfaces.
add 2416922 Add an option for using dedicated ZkConnection in
ZkBaseDataAccessor (#655)
add 660ae7c Add new interface IZkStateListener to provide session aware
handleNewSession for ZkHelixManager (#644)
add 9adb6a2 Patching zkClient leakage fix #656 (#657)
add f82106c [maven-release-plugin] prepare release helix-0.9.2
add 7b852b0 [maven-release-plugin] prepare for next development iteration
add e61b8ec Revert "[maven-release-plugin] prepare for next development
iteration"
add 6193fb0 Revert "[maven-release-plugin] prepare release helix-0.9.2"
add d6ba1f3 Use ZnRecordSerializer in ConfigAccessor (#666)
new a500eb2 Define the WAGED rebalancer interfaces.
new 864d4e1 Adding the configuration items of the WAGED rebalancer. (#348)
new 00597da Implement the WAGED rebalancer cluster model (#362)
new 603d362 Change the rebalancer assignment record to be
ResourceAssignment instead of IdealState. (#398)
new 5371c30 Convert all the internal assignment state objects to be
ResourceAssignment. (#399)
new 867431a Implement Cluster Model Provider. (#392)
new 73e4a5a Add cluster level default instance config. (#413)
new 103513a Add ChangeDetector interface and ResourceChangeDetector
implementation (#388)
new e8ca755 Redefine the hard/soft constraints (#422)
new 23243b7 Refine the WAGED rebalancer related interfaces for
integration (#431)
new 87a099f Revert "Refine the WAGED rebalancer related interfaces for
integration (#431)" (#437)
new de05f40 Resubmit the change: Refine the WAGED rebalancer related
interfaces for integration (#431)
new 3b4043c Modify the expected change type from CONFIG to CLUSTER_CONFIG
in the WAGED rebalancer. (#438)
new 6b16d86 Add special treatment for ClusterConfig
new 0411562 Record the replica objects in the AssignableNode in addition
to the partition name (#440)
new 9ec9739 Add BucketDataAccessor for large writes
new 415c0e8 Implement the basic constraint based algorithm (#381)
new cb3ccdf Validate the instance capacity/partition weight configuration
while constructing the assignable instances (#451)
new 8926f0d Implement the WAGED rebalancer with the limited
functionality. (#443)
new b9b7f7c HardConstraints Implementation and unit tests (#433)
new 06807a8 Implement AssignmentMetadataStore (#453)
new c0e5c7e Fix TestWagedRebalancer and add constructor in
AssignmentMetadataStore
new 75638e2 Implement one of the soft constraints (#450)
new 0026ce1 Add soft constraint: ResourcetopStateAntiAffinityConstraint
(#465)
new 94cc6ec Implement MaxCapacityUsageInstanceConstraint soft constraint
(#463)
new e589218 Add soft constraint: ResourcePartitionAntiAffinityConstraint
(#464)
new 362d182 Improve ResourceTopStateAntiAffinityConstraint (#475)
new f1281bc Adjust the expected replica count according to fault zone
count. (#476)
new 9e22b66 PartitionMovementSoftConstraint Implementation (#474)
new 5b4baf2 Add the remaining implementation of
ConstraintBasedAlgorithmFactory (#478)
new 360915e Integrate the WAGED rebalancer with all the related
components. (#466)
new be49061 Separate AssignableNode properties by Immutable and Mutable
(#485)
new 70e3aba Add delayed rebalance and user-defined preference list
features to the WAGED rebalancer. (#456)
new 8ed9faf Enable maintenance mode for the WAGED rebalancer.
new 0f19de8 Adjust the topology processing logic for instance to ensure
backward compatibility.
new 31c6a9d Load soft constraint weight from resources/properties file
(#492)
new 11ca52b Add latency metric components for WAGED rebalancer (#490)
new 511ff13 Fixing rebalance cache issue and stablize the tests. (#510)
new f1b6e7b More strict partition weight validation while creating the
cluster model. (#511)
new c92e5a2 Increase parallelism for ZkBucketDataAccessor (#506)
new ce9c6f9 The WAGED rebalancer returns the previously calculated
assignment on calculation failure (#514)
new 680cecf Make log clearer after finishing calculateAssignment. (#531)
new 56f3fa3 Implement monitoring mbeans for the WAGED rebalancer. (#525)
new f6f74ea Refine the rebalance scope calculating logic in the WAGED
rebalancer. (#519)
new 1335921 Make WagedRebalancer static by creating a ThreadLocal (#540)
new 14f70ee Change change detector to a regular field in the WAGED
rebalancer instead of static threadlocal. (#543)
new fbd16d4 Refactor soft constraints to simply the algorithm and fix
potential issues. (#520)
new 8fa6e36 Minor fix for the constraints related tests. (#545)
new d1d938a Adjust the replica rebalance calculating ordering to avoid
static order. (#535)
new e6e9ff5 Implement increment() method in CountMetric class. (#537)
new 18601c9 Modify the ivy file to add the new math3 lib dependency.
(#546)
new 2574f07 Fix a missing parameter when the WAGED rebalancer init the
change detector. (#547)
new 330c7e7 Add the new Rebalancer monitor domain to the active domain
list. (#550)
new de301d9 Refine ivy file config. The org were not configured
correctly. (#551)
new 45916ab Use a deep copy of the new best possible assignment for
measuring baseline divergence. (#542)
new 0833fa9 Add max capacity usage metric for instance monitor. (#548)
new af0e513 Fix formula incorrection in the comment for measuring
baseline divergence. (#559)
new 44c9666 Avoid redundant writes in AssignmentMetadataStore (#564)
new 29fcaec Filter resource map with ideal states for instance capacity
metrics. (#574)
new 93e0d8a Introduce Dry-run Waged Rebalancer for the verifiers and
tests. (#573)
new dc23170 Change ClusterConfig.setDefaultCapacityMap to be private.
(#590)
new c5122b3 Add Java API for adding and validating resources for WAGED
rebalancer (#570)
new 1b1e072 Change calculation for baseline divergence. (#598)
new 55457c3 Improve the WAGED rebalancer performance. (#586)
new 5118725 Fix the unstable test TestZeroReplicaAvoidance. (#603)
new e4a6bc8 Add REST API endpoints for WAGED Rebalancer (#611)
new 3948913 Fix a potential issue in the ResourceChangeSnapshot. (#635)
new eb032c5 Simply and enhance the RebalanceLatencyGauge so it can be
used in multi-threads. (#636)
new 345a25c Add new WAGED rebalancer config item
"GLOBAL_REBALANCE_ASYNC_MODE". (#637)
new e7e9c71 Decouple the event type and the scheduled rebalance cache
refresh option. (#638)
new bcb4f28 Improve the algorithm so it prioritizes the assignment to the
idle nodes when the constraint evaluation results are the same (#651)
new 9435d30 Refine the WAGED rebalancer to minimize the partial rebalance
workload. (#639)
new 0a0142b Refine methods name and comments. (#664)
new 8e77c1e Asynchronously calculating the Baseline (#632)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (302e1e7)
\
N -- N -- N refs/heads/wagedRebalancer (8e77c1e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 74 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../main/java/org/apache/helix/ConfigAccessor.java | 14 +-
.../apache/helix/manager/zk/ZKHelixManager.java | 43 +++++-
.../java/org/apache/helix/manager/zk/ZKUtil.java | 94 +++++++++----
.../helix/manager/zk/ZkBaseDataAccessor.java | 107 ++++++++++++--
.../helix/manager/zk/ZkCacheBaseDataAccessor.java | 29 +++-
.../apache/helix/manager/zk/ZkCallbackCache.java | 24 +++-
.../helix/manager/zk/client/HelixZkClient.java | 105 +++++++++++++-
.../manager/zk/zookeeper/IZkStateListener.java | 61 ++++++++
.../helix/manager/zk/zookeeper/ZkClient.java | 95 ++++++++++++-
.../helix/manager/zk/zookeeper/ZkEventThread.java | 26 +++-
.../helix/store/zk/ZkHelixPropertyStore.java | 5 +
.../java/org/apache/helix/tools/MessagePoster.java | 20 +--
.../apache/helix/tools/commandtools/ZKDumper.java | 32 +++--
.../java/org/apache/helix/TestConfigAccessor.java | 10 ++
.../test/java/org/apache/helix/ZkTestHelper.java | 18 +--
.../java/org/apache/helix/common/ZkTestBase.java | 6 +-
.../helix/manager/zk/TestHandleNewSession.java | 4 +-
.../apache/helix/manager/zk/TestRawZkClient.java | 153 ++++++++++++++++++---
.../helix/manager/zk/TestZkClusterManager.java | 2 +-
.../apache/helix/manager/zk/TestZkFlapping.java | 4 +-
20 files changed, 729 insertions(+), 123 deletions(-)
create mode 100644
helix-core/src/main/java/org/apache/helix/manager/zk/zookeeper/IZkStateListener.java