[ https://issues.apache.org/jira/browse/HELIX-705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522917#comment-16522917 ]
ASF GitHub Bot commented on HELIX-705: -------------------------------------- GitHub user zhan849 opened a pull request: https://github.com/apache/helix/pull/204 [HELIX-705]: Participant duplicated state transition handling rework Re-implemented helix task executor state transition message dedup logic, and added tests for verifying it: - Duplicated message in same batch: discard the later one - Duplicated message in different batches, the later one should be discarded if the first one is in progress - During state transition, we should not rely on current state delta to get partition's current state, but should lock on state model def (thread safety) - Duplicated state transition (toState == currentState) should not result in error, which is confusion, but should report success You can merge this pull request into a Git repository by running: $ git pull https://github.com/zhan849/helix harry/participant-st-dedup Alternatively you can review and apply these changes as the patch at: https://github.com/apache/helix/pull/204.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 #204 ---- commit 04f1ba9701ccfb4c55d44ab4bc159577c3afd68b Author: Harry Zhang <hrzhang@...> Date: 2018-06-25T22:55:14Z [HELIX-705]: Participant duplicated state transition handling rework ---- > Participant duplicated state transition handling rework > ------------------------------------------------------- > > Key: HELIX-705 > URL: https://issues.apache.org/jira/browse/HELIX-705 > Project: Apache Helix > Issue Type: Task > Reporter: Hao Zhang > Priority: Major > > Helix should have some re-work on participant side message handling: > - Duplicated message in same batch: discard the later one > - Duplicated message in different batches, the later one should be discarded > if the first one is in progress > - During state transition, we should not rely on current state delta to get > partition's current state, but should lock on state model def (thread safety) > - Duplicated state transition (toState == currentState) should not result in > error, which is confusion, but should report success -- This message was sent by Atlassian JIRA (v7.6.3#76005)