Implement Helix API for updating customized state#729
Merged
jiajunwang merged 10 commits intoapache:customizeViewfrom Feb 26, 2020
Merged
Implement Helix API for updating customized state#729jiajunwang merged 10 commits intoapache:customizeViewfrom
jiajunwang merged 10 commits intoapache:customizeViewfrom
Conversation
737d708 to
d16415b
Compare
junkaixue
reviewed
Feb 6, 2020
helix-core/src/main/java/org/apache/helix/model/CustomizedState.java
Outdated
Show resolved
Hide resolved
mgao0
reviewed
Feb 7, 2020
mgao0
reviewed
Feb 7, 2020
helix-core/src/main/java/org/apache/helix/model/CustomizedState.java
Outdated
Show resolved
Hide resolved
lei-xia
reviewed
Feb 10, 2020
helix-core/src/main/java/org/apache/helix/customizedstate/CustomizedStateProvider.java
Outdated
Show resolved
Hide resolved
junkaixue
reviewed
Feb 13, 2020
helix-core/src/main/java/org/apache/helix/customizedstate/CustomizedStateProviderFactory.java
Outdated
Show resolved
Hide resolved
helix-core/src/main/java/org/apache/helix/customizedstate/CustomizedStateProviderFactory.java
Outdated
Show resolved
Hide resolved
2cde71c to
df40d42
Compare
mgao0
reviewed
Feb 25, 2020
junkaixue
reviewed
Feb 25, 2020
helix-core/src/main/java/org/apache/helix/manager/zk/ZKUtil.java
Outdated
Show resolved
Hide resolved
alirezazamani
approved these changes
Feb 25, 2020
alirezazamani
left a comment
There was a problem hiding this comment.
Overall LGTM. Please address the comments before merging.
helix-core/src/main/java/org/apache/helix/customizedstate/CustomizedStateProvider.java
Outdated
Show resolved
Hide resolved
Contributor
Author
|
This PR is ready to be merged, approved by @alirezazamani |
zhangmeng916
added a commit
to zhangmeng916/helix
that referenced
this pull request
Apr 2, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
zhangmeng916
added a commit
to zhangmeng916/helix
that referenced
this pull request
Apr 4, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
zhangmeng916
added a commit
to zhangmeng916/helix
that referenced
this pull request
Apr 13, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
zhangmeng916
added a commit
to zhangmeng916/helix
that referenced
this pull request
Apr 14, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
zhangmeng916
added a commit
to zhangmeng916/helix
that referenced
this pull request
Apr 23, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
jiajunwang
pushed a commit
that referenced
this pull request
Apr 23, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
huizhilu
pushed a commit
to huizhilu/helix
that referenced
this pull request
Aug 16, 2020
Implement Helix APIs in CustomizedStateProvider for customers to operate on their own customized state. The available operations include update, get, and delete. To use CustomizedStateProvider, Helix user should initialize its factory and pass required parameters.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issues
(#728 )
Description
Currently, Helix only supports a single state for every partition. There're increasing requests from customers to have more than one state, which is defined in Helix state model, for their practical use. For example, they may want to have read/write state, quota state, version state, etc. Helix will introduce the concept of customized state, which allows customer to define the states they are interested.
This PR is to implement Helix API for customers to import their customized state. The customized state is adjacent to CURRENT_STATE as a separate znode. Under this znode, there are children znodes representing each individual customized state. And each customized state is categorized by resources.
Tests
TestCustomizedStateUpdate.java
[ERROR] Tests run: 902, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3,610.949 s <<< FAILURE! - in TestSuite
[ERROR] testWorkflowFailureJobThreshold(org.apache.helix.integration.task.TestJobFailureDependence) Time elapsed: 300.01 s <<< FAILURE!
org.testng.internal.thread.ThreadTimeoutException: Method org.testng.internal.TestNGMethod.testWorkflowFailureJobThreshold() didn't finish within the time-out 300000
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] TestJobFailureDependence.testWorkflowFailureJobThreshold » ThreadTimeout Metho...
[INFO]
[ERROR] Tests run: 902, Failures: 1, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:00 h
[INFO] Finished at: 2020-02-06T09:58:26-08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test) on project helix-core: There are test failures.
[ERROR]
[ERROR] Please refer to /home/mnzhang/helix/helix-core/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
Commits
Code Quality