Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add zookeeper-api module to Apache Helix #684

Merged
merged 23 commits into from
Feb 11, 2020

Conversation

narendly
Copy link
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
zookeeper-api/pom.xml Outdated Show resolved Hide resolved
@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, lei-xia and junkaixue and removed request for jiajunwang February 6, 2020 17:59
@junkaixue
Copy link
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
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
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
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
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
3 participants