reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Markus Weimer (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (REEF-1377) Move from C# Tasks to Threads to run user's Task
Date Mon, 02 May 2016 21:37:12 GMT

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

Markus Weimer resolved REEF-1377.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 0.15

Resolved via [#984|https://github.com/apache/reef/pull/984]

> Move from C# Tasks to Threads to run user's Task
> ------------------------------------------------
>
>                 Key: REEF-1377
>                 URL: https://issues.apache.org/jira/browse/REEF-1377
>             Project: REEF
>          Issue Type: Bug
>          Components: REEF.NET Evaluator
>            Reporter: Andrew Chung
>            Assignee: Andrew Chung
>             Fix For: 0.15
>
>
> We should use {{Thread}} instead of {{Task}} to run user's REEF Task to simplify {{Exception}}
handling. The main motivation to move is the following use-case:
> On an unhandled {{Exception}} on the REEF system side, we would like to fail the {{Evaluator}}
and have it relay a message back to the Driver. For this purpose, we will bind a handler for
{{AppDomain.CurrentDomain.UnhandledException}}. However, this does not work for Tasks. The
Task equivalent, {{TaskScheduler.UnobservedTaskException}}, only triggers when a Task gets
GC'd, which may be a long time after a Task fails unless GC is forced. In addition, {{Tasks}}
do not crash a process in C# 4.5, so if an Unhandled Exception is not observed on our part,
there is a possibility that it remains unobserved for a long time which may cause system state
to become corrupted and unstable.
> We should thus switch to use {{Thread}} to simplify the {{Exception}} handling in the
REEF.NET Evaluator.



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

Mime
View raw message