GrantPSpencer opened a new pull request, #2867:
URL: https://github.com/apache/helix/pull/2867

   ### Issues
   
   - [ ] My PR addresses the following Helix issues and references them in the 
PR description:
   While the SwapIn operation is in progress, the swapIn node does not consider 
the disabled partitions on the swapIn node. 
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   selectSwapInState now considers whether the swapIn node has any disabled 
resources. This is done by passing the ResourceControllerDataProvider cache to 
the method to determine if the partition is disabled on the node. If the 
partition is disabled, then the intended state will be OFFLINE, this can lead 
to 2 scenarios:
   
   1. If the swapIn node's partition is disabled PRIOR to it being assigned the 
partition as part of the swap operation, then it will not be assigned the 
partition until the partition is reenabled. This is because the IS says 
offline, and we do not send state transition DROPPED --> OFFLINE. 
   2. If the swapIn node's partition is disabled AFTER being assigned the 
partition as part of the swap operation, then it will downward transit those 
partitions to the OFFLINE state. 
   In both of these cases, the swap operation cannot complete while partitions 
are disabled because it does not have the intended state of the swapOut node. 
In both of these cases, re-enabling the partitions will then cause the swap 
operation to proceed as normal. 
   
   This PR also includes some minor changes to other tests within the same 
integrration test file to address potential flakiness and further isolate each 
test method.
   
   ### Tests
   
   - [ ] The following tests are written for this issue:
   
   testDisabledPartitionsBeforeSwapInitiated
   testDisabledPartitionsAfterSwapInitiated
   
   - 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)
   
   - My PR contains changes that break backward compatibility or previous 
assumptions for certain methods or API. They include:
   N/A
   
   ### Commits
   
   - My commits all reference appropriate Apache Helix GitHub issues in their 
subject lines. In addition, my commits follow the guidelines from "[How to 
write a good git commit message](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Code Quality
   
   - My diff has been formatted using helix-style.xml 
   (helix-style-intellij.xml if IntelliJ IDE is used)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@helix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@helix.apache.org
For additional commands, e-mail: reviews-h...@helix.apache.org

Reply via email to