You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Mariia Mykhailova (JIRA)" <ji...@apache.org> on 2016/12/13 23:11:58 UTC

[jira] [Resolved] (REEF-1687) Throw exception if task dispose throws exception after Call()

     [ https://issues.apache.org/jira/browse/REEF-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mariia Mykhailova resolved REEF-1687.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 0.16

Resolved via [PR 1203|https://github.com/apache/reef/pull/1203]

> Throw exception if task dispose throws exception after Call()
> -------------------------------------------------------------
>
>                 Key: REEF-1687
>                 URL: https://issues.apache.org/jira/browse/REEF-1687
>             Project: REEF
>          Issue Type: Bug
>            Reporter: Julia
>            Assignee: Julia
>             Fix For: 0.16
>
>
> Currently in TaskRuntime, when dispose a task in Close method, if exception happens, we throw exception. While when dispose the task after calling Call() method, we just log but swallow the exception. This is inconsistent. It also results in TestFailMapperTasksOnDispose randomly failing because it really depends on which code path is quicker that determines where the task Dispose is called. 
> When Task Dispose() throw exception, that means some resources are not released properly. For fault tolerant, even if the task is returned from the Call(), either realy completed the task or closeddByDriver, if we are to reuse the evaluator to resubmit a task on it, it is not right. So the correct way is to throw exception to make evaluator fail, same as what we did in close() method. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)