[ 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)
|