-
Notifications
You must be signed in to change notification settings - Fork 229
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 supporting APIs for evacuation #2618
Add supporting APIs for evacuation #2618
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
Outdated
Show resolved
Hide resolved
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
Outdated
Show resolved
Hide resolved
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
Outdated
Show resolved
Hide resolved
159055b
to
0273cc4
Compare
0273cc4
to
ba1786a
Compare
List<String> currentStates = baseAccessor.getChildNames(path, 0); | ||
if (currentStates == null) { | ||
logger.warn("Instance {} in cluster {} does not have live session. The instance can be removed anyway.", | ||
instanceName, clusterName); | ||
return false; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Race condition can happen if the instance is carrying over from old session current state. New session current state is empty.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall lgtm. Please verify the liveinstance & session carrying over logic.
This PR is ready to be merged. Approved by @junkaixue Failed CI test has been fixed on master branch. |
7c312ca
into
apache:ApplicationClusterManager
…ngCluster for evacuation. (#2618)
…ngCluster for evacuation. (apache#2618)
Issues
#2589
Description
This change add 2 APIs.
isEvacuateFinished
Return if instance operation 'Evacuate' is finished.
isReadyForPreparingJoiningCluster
Return if instance is ready for preparing joining cluster. The instance should have no current state, no pending message and tagged with operation that exclude the instance from Helix assignment.
Tests
The following tests are written for this issue:
Updated testInstanceOperation
The following is the result of the "mvn test" command on the appropriate module:
(If CI test fails due to known issue, please specify the issue and test PR locally. Then copy & paste the result of "mvn test" to here.)
Changes that Break Backward Compatibility (Optional)
(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)
Documentation (Optional)
(Link the GitHub wiki you added)
Commits
Code Quality
(helix-style-intellij.xml if IntelliJ IDE is used)