You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by zhan849 <gi...@git.apache.org> on 2018/11/02 22:22:26 UTC
[GitHub] helix pull request #294: Implement view cluster aggregator
GitHub user zhan849 opened a pull request:
https://github.com/apache/helix/pull/294
Implement view cluster aggregator
Based on #266 , design of helix view aggregator, here is the implementation. Helix view aggregator will be a different module under helix repo, and the impl will use components from helix-core.
Here is a debrief of this PR:
- View cluster related information will be added to `ClusterConfig`, and related java apis will be added to helix-core.
- `SourceClusterDataProvider` is a component that watches changes from source cluster, updates its cached data, and notify data change event via a given channel
- `ViewClusterRefresher` is a component that does the actual refresh operation of the view cluster. It computes diff between source clusters and view cluster, make changes to view cluster accordingly
- `SourceClusterConfigChangeAction` is a wrapper containing information about what to update for a source cluster. It takes in old and new `ClusterConfig` and compute actions to adopt view cluster to the changes
- `HelixViewAggregator` hooks up small components and contains the main reconciliation loop for refreshing view cluster
- Metrics recording mechanism is added
- starting helix view aggregator in a stand-alone mode and distributed mode (by adding state model into helix participant) is supported
- related unit tests and integration tests are added
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zhan849/helix harry/view-aggregator-impl
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/helix/pull/294.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 #294
----
commit d6b98f236d85522866e4e7584561a02ce525d142
Author: Harry Zhang <hr...@...>
Date: 2018-11-01T22:26:45Z
[HELIX-781]: add java apis for view cluster config support
commit 759cf8a9a48805851c50681afc98b2cafe309ff7
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T21:28:23Z
[HELIX-781] set up module structure for helix view aggregator
commit 2ae85f6127b43aa7928776ede7e9bbbfe94e9385
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T21:38:14Z
[HELIX-781] implement SourceClusterDataProvider and add tests
commit 1df6c7e15bc31fb424883e3febcd9f8cd019de82
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T21:42:56Z
[HELIX-781] implement ViewClusterRefresher and add tests
commit 7802cf2443d45092c69cb529b4bba17a3c45dc31
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T21:50:35Z
[HELIX-781] implement SourceClusterConfigChangeAction and added tests
commit 985a4ac2bcc43738d9c7ab463ad606f8691f7298
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T21:59:21Z
[HELIX-781] implement helix view aggregator main logic and added tests
commit 3e2cfb695720fc09f181b55a3a31adc2b44f94a4
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T22:08:43Z
[HELIX-781] added metrics to helix view aggregator and added tests
commit 82d33e0aad1ad2279f864fea6d5851129ba56610
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T22:11:00Z
[HELIX-781] added main function to start helix view aggregator via bash
commit 11a7c126ca8bb9298754cb9127af588148af0902
Author: Harry Zhang <hr...@...>
Date: 2018-11-02T22:12:57Z
[HELIX-781] support deploy helix view aggregator in a distributed fashion using helix participant
----
---