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

ASF GitHub Bot commented on FLINK-2111:
---------------------------------------

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/750#discussion_r49461844
  
    --- Diff: 
flink-runtime/src/main/scala/org/apache/flink/runtime/taskmanager/TaskManager.scala
 ---
    @@ -417,6 +417,28 @@ class TaskManager(
                 log.debug(s"Cannot find task to fail for execution 
$executionID)")
               }
     
    +        // stops a task
    +        case StopTask(executionID) =>
    +          val task = runningTasks.get(executionID)
    +          if (task != null) {
    +            try {
    +              task.stopExecution()
    +              sender ! decorateMessage(new 
TaskOperationResult(executionID, true))
    +            } catch {
    +              case t: Throwable =>
    +                        sender ! new TaskOperationResult(executionID, 
false,
    --- End diff --
    
    Sending for every `Throwable` a `TaskOperationResult(.., false, ...)` back 
will result in a logging statement on the `JobManager` side that the 
corresponding task could not be found. This seems to be wrong since the task 
was found but an exception occurred while calling stop on it. The `stop` method 
of `Task` can throw an `UnsupportedOperationException` which should lead on the 
`JobManager` side to a logging statement `Task does not support stop`. Every 
other exception should lead to a cancellation of the corresponding `Task`, 
because something obviously went wrong.


> Add "stop" signal to cleanly shutdown streaming jobs
> ----------------------------------------------------
>
>                 Key: FLINK-2111
>                 URL: https://issues.apache.org/jira/browse/FLINK-2111
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Runtime, JobManager, Local Runtime, 
> Streaming, TaskManager, Webfrontend
>            Reporter: Matthias J. Sax
>            Assignee: Matthias J. Sax
>            Priority: Minor
>
> Currently, streaming jobs can only be stopped using "cancel" command, what is 
> a "hard" stop with no clean shutdown.
> The new introduced "stop" signal, will only affect streaming source tasks 
> such that the sources can stop emitting data and shutdown cleanly, resulting 
> in a clean shutdown of the whole streaming job.
> This feature is a pre-requirment for 
> https://issues.apache.org/jira/browse/FLINK-1929



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

Reply via email to