Skip to content

Add zookeeper-api module to Apache Helix#684

Merged
narendly merged 23 commits into
apache:masterfrom
narendly:zookeeper-api
Feb 11, 2020
Merged

Add zookeeper-api module to Apache Helix#684
narendly merged 23 commits into
apache:masterfrom
narendly:zookeeper-api

Conversation

@narendly
Copy link
Copy Markdown
Contributor

@narendly narendly commented Jan 16, 2020

Issues

  • My PR addresses the following Helix issues and references them in the PR description:

Fixes #631 Fixes #556

Description

  • Here are some details about my PR, including screenshots of any UI changes:

https://github.com/apache/helix/wiki/New-Modules-for-Apache-Helix

Tests

  • The following tests are written for this issue:

All existing tests are kept.

  • The following is the result of the "mvn test" command on the appropriate module:

helix-agent

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.706 s
[INFO] Finished at: 2020-02-10T09:45:49-08:00
[INFO] ------------------------------------------------------------------------

helix-rest

Results :

Tests run: 99, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29.275 s
[INFO] Finished at: 2020-02-10T09:47:05-08:00
[INFO] ------------------------------------------------------------------------

helix-admin-webapp

Results :

Failed tests:
TestJobQueuesResource.test:190 expected: but was:

Tests run: 20, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.412 s
[INFO] Finished at: 2020-02-10T09:47:57-08:00
[INFO] ------------------------------------------------------------------------

-> This is a known failing test.

helix-core

Failed tests:
TestRebalancePipeline.testMsgTriggeredRebalance:222 expected: but was:
TestEnableCompression.testEnableCompressionResource:108 expected: but was:
TestZKWatch.testSubscribeDataChange:81 expected:<0> but was:<1>

These tests pass when run individually.

Commits

  • My commits all reference appropriate Apache Helix GitHub issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters (not including Jira issue reference)
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Documentation

  • In case of new functionality, my PR adds documentation in the following wiki page:

https://github.com/apache/helix/wiki/New-modules-for-Apache-Helix

Code Quality

  • My diff has been formatted using helix-style.xml

@narendly narendly changed the base branch from master to zookeeper-api January 16, 2020 22:43
Comment thread zookeeper-api/pom.xml Outdated
@narendly narendly marked this pull request as ready for review January 20, 2020 01:10
@narendly narendly changed the base branch from zookeeper-api to master February 5, 2020 21:37
@narendly narendly requested review from jiajunwang, junkaixue and lei-xia and removed request for jiajunwang February 6, 2020 17:59
@junkaixue
Copy link
Copy Markdown
Contributor

Overall, the structure looks good to me. Just one thing: for the module folder. org/apache/helix/zookeeper/api/api. Shall we leave the module folder as org/apache/helix/zookeeper/api/...

Copy link
Copy Markdown
Contributor

@junkaixue junkaixue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Make sure you addressed other comments.

Copy link
Copy Markdown
Contributor

@jiajunwang jiajunwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for working on this huge task.

One concern is the ivy file helix-core/helix-core-0.9.2-SNAPSHOT.ivy. 'commons-math3" is used by the WAGED rebalancer, I think we need to keep it in the ivy file.

@narendly
Copy link
Copy Markdown
Contributor Author

LGTM! Thanks for working on this huge task.

One concern is the ivy file helix-core/helix-core-0.9.2-SNAPSHOT.ivy. 'commons-math3" is used by the WAGED rebalancer, I think we need to keep it in the ivy file.

Updated the .ivy file.

@narendly
Copy link
Copy Markdown
Contributor Author

This PR is ready to be merged, approved by @dasahcc @jiajunwang

Add metrics-common, zookeeper-api, helix-common modules

We want to create a new module called zookeeper-api in order to decouple Helix's ZooKeeper APIs from helix-core. The goal is to enable non-Helix applications to use Helix's ZooKeeper APIs to use ZooKeeper.

@narendly narendly merged commit b227b3b into apache:master Feb 11, 2020
mgao0 pushed a commit to mgao0/helix that referenced this pull request Mar 6, 2020
We want to create a new module called zookeeper-api in order to decouple Helix's ZooKeeper APIs from helix-core. The goal is to enable non-Helix applications to use Helix's ZooKeeper APIs. This change also allows for better modularity and separation of concerns.
huizhilu pushed a commit to huizhilu/helix that referenced this pull request Aug 16, 2020
We want to create a new module called zookeeper-api in order to decouple Helix's ZooKeeper APIs from helix-core. The goal is to enable non-Helix applications to use Helix's ZooKeeper APIs. This change also allows for better modularity and separation of concerns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create zookeeper-api module to decouple ZK API from helix-core Move Zookeeper Access Layer into separate module

3 participants