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

Reply via email to