You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/03/20 01:35:00 UTC

[jira] [Commented] (HELIX-681) Participant should not fail state transition on fail to delete / relay message

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

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

GitHub user zhan849 opened a pull request:

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

    [HELIX-681] don't fail state transition task if we fail to remove message or send out relay message

    This PR includes fix on participant side:
    1. Consolidated message deletion logic to HelixUtil, as we currently have duplicated logics in various places
    2. When we fail to delete message, we don't throw exception to fail task
    3. When we fail to send out relay message, we don't throw exception to fail task

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

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

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

    https://github.com/apache/helix/pull/152.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 #152
    
----

----


> Participant should not fail state transition on fail to delete / relay message
> ------------------------------------------------------------------------------
>
>                 Key: HELIX-681
>                 URL: https://issues.apache.org/jira/browse/HELIX-681
>             Project: Apache Helix
>          Issue Type: Bug
>            Reporter: Hao Zhang
>            Priority: Major
>
> Currently we have a general try-catch block in HelixTask and HelixTaskExecutor, which, upon any exception thrown from state transition routine, will fail state transition. However there are at least the following cases in which state transition should be considered as successful:
>  * When we fail to delete message after successfully handled message and updated current state -> this is because we already completed state transition and current state is consistent between participant and ZK
>  * When we fail to send out relay message > as relay message provides only best effort of delivering messages, which has nothing to do with state transition's results. In case of fail to relay message, controller will resend message which ensures correctness.



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