[ 
https://issues.apache.org/jira/browse/HELIX-741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547270#comment-16547270
 ] 

ASF GitHub Bot commented on HELIX-741:
--------------------------------------

GitHub user zhan849 opened a pull request:

    https://github.com/apache/helix/pull/258

    [HELIX-741] make swap instance more robust and idempotent

    Made swap instance more robust:
    1. List ideal state names and read ideal state individually to avoid 
partial read
    2. remove redundant logics that test old instance status
    3. make it idempotent
    4. added test cases

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/zhan849/helix harry/helix-admin

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/helix/pull/258.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #258
    
----
commit 24c52394dfff91c045367260c969f76560ebeb62
Author: Harry Zhang <hrzhang@...>
Date:   2018-07-18T01:21:48Z

    [HELIX-741] make swap instance more robust and idempotent

----


> Revise unreliable behavior in swapInstance
> ------------------------------------------
>
>                 Key: HELIX-741
>                 URL: https://issues.apache.org/jira/browse/HELIX-741
>             Project: Apache Helix
>          Issue Type: Task
>            Reporter: Hao Zhang
>            Priority: Major
>
> swapInstance call did not work properly when we were trying to fix a 
> production issue.
>  
> The API was old and not actively maintained. It used deprecated underlaying 
> data accessor API and hit a problem of partial ZK read. Thus our CLI was 
> unable to update all IdealStates as expected.
> We have seen such problem before, especially when the cluster is bug and 
> there are a lot of data to read back.
> This ticket is created to refactor the implementation of swapInstance() to 
> make it more robust, and separate ticket will be created to revise those old 
> API calls that are not frequently used not actively maintained.
> –
> AC:
>  - make this api call reliable and idempotent



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to