GitHub user dasahcc opened a pull request:
https://github.com/apache/helix/pull/108
Three improvements or but fixes of Helix
1. Add protective check for ZKHelixAdmin.dropInstance()
2. Add StateTransitionThrottleConfig class to allow client to specify
different types of state transition throttle control in cluster level config
3. Add integration test cases to test crush rebalance strategy for
non-rackaware clusters.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dasahcc/helix master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/helix/pull/108.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #108
----
commit de1a27f6cf13c190275f2544c6c9d4afe78d5a82
Author: Lei Xia <[email protected]>
Date: 2017-09-26T00:08:04Z
Add integration test cases to test crush rebalance strategy for
non-rackaware clusters.
commit d51f35377ad23ee881503b71b09236a39dba352c
Author: Lei Xia <[email protected]>
Date: 2017-09-26T00:12:46Z
Add StateTransitionThrottleConfig class to allow client to specify
different types of state transition throttle control in cluster level config.
Introduce StateTransitionThrottleConfig class to allow client to specify
different types of state transition throttle control in cluster level config.
More design details at:
https://iwww.corp.linkedin.com/wiki/cf/display/ENGS/Helix+Partition+Movement+Throttling
commit 79ebc0469da73a7a1b2d8c73a42efc4001d06088
Author: Weihan Kong <[email protected]>
Date: 2017-09-26T00:59:00Z
Add protective check for ZKHelixAdmin.dropInstance()
Dropping an instance when it is still alive could result in inconsistent
state and should not be allowed. Add protective check and throw exception when
this happens.
Add test for this check. Start a process to make the instance alive, try
dropping the instance(fail as expected), then stop the process and drop the
instance as usual.
----
---