GitHub user dasahcc opened a pull request:
https://github.com/apache/helix/pull/111
Couple improvements and bug fixings
1. Fix remove context with namespaced job name
2. Config to change the interval of healthReport collection
3. Add timeout in JobConfig
4. Be able to stop workflow when no job is running.
5. Prevent ClusterControllerManager from starting multiple times
6. Fix TestBatchMessage test fail
7. Add protective check for ZooKeeper writing data that is bigger than
1MB
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/111.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 #111
----
commit f9f554e68bfbffdfd8f87db76d546f7202f1541b
Author: Weihan Kong <[email protected]>
Date: 2017-01-24T01:18:00Z
Add protective check for ZooKeeper writing data that is bigger than 1MB
ZooKeeper server drops connections for requests that are trying to write
data bigger than 1 MB, without returning any error code. When a Helix user does
so, the request times out without giving a reason.
ZkClient in Helix is a wrapper for ZkClient in ZooKeeper. Add check in the
Helix ZkClient wrapper to give user exact timeout reason when data is bigger
than 1MB.
Add unit test.
commit d5a2395d207da618e767d1f07e20fa116d716cb3
Author: Junkai Xue <[email protected]>
Date: 2017-02-09T01:12:18Z
Fix TestBatchMessage test fail
Test fail because new NO_OP message send as new MessageHandlerFactory
registered.
commit 94f3961842263d04eef89019a1955e4c49e3305c
Author: Weihan Kong <[email protected]>
Date: 2017-02-09T07:38:49Z
Prevent ClusterControllerManager from starting multiple times
ClusterControllerManager is a runnable wrapper for a Helix Controller that
could run on a separate thread for testing purpose. Since
HelixManager.connect() should not be called more than once, this Controller
should not be started more than once, either.
commit 408082a33d91f84556c3da31232fb6d4097b4371
Author: Weihan Kong <[email protected]>
Date: 2017-02-13T21:52:16Z
Be able to stop workflow when no job is running.
Currently, to stop a workflow, the target state of the workflow is set to
STOP, then when each job(as a resource in ideal state) was processed in job
rebalancer, it will check whether all the jobs in the workflow is done(not in
IN_PROGRESS or STOPPING) and set the workflow state to be STOP.
However, if all the jobs are already done, thereâs no job in ideal state
to process, so the workflow state never gets a chance to be set to STOP.
This commit adds a check in workflow rebalancer to set the state when all
jobs are already done.
A test is added to test specifically this case.
commit 177d5bdc29fc2011e12ca82d7bdf5456ef31a956
Author: Junkai Xue <[email protected]>
Date: 2017-10-03T22:18:32Z
Add timeout in JobConfig
To support job-level timeout for the task framework, add the configuration
field. Associated changed is made in builder and JobBean.
commit bd113a181a25611b7e2581f0bcbbce24d4aab1eb
Author: Junkai Xue <[email protected]>
Date: 2017-10-03T22:22:47Z
Config to change the interval of healthReport collection
To better support the health report, the configurable collection time
interval is necessary. Add this configuration in system environment since there
is no zookeeper connection happens before create healthreport tasks.
commit 745036883252503c755e77da3634388be9b43c8b
Author: Junkai Xue <[email protected]>
Date: 2017-10-03T22:28:50Z
Fix remove context with namespaced job name
----
---