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

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

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

    https://github.com/apache/flink/pull/750#discussion_r46308707
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionGraph.java
 ---
    @@ -732,6 +758,18 @@ else if (current == JobStatus.RESTARTING) {
                }
        }
     
    +   public void stop() {
    +           if(jobType == JobType.STREAMING) {
    +                   for(ExecutionVertex ev : 
this.getAllExecutionVertices()) {
    +                           if(ev.getNumberOfInputs() == 0) { // send 
signal to sources only
    +                                   ev.stop();
    +                           }
    +                   }
    +           } else {
    +                   throw new RuntimeException("STOP is only supported by 
streaming jobs.");
    --- End diff --
    
    This is not a problem: in `JobManager.scala` a potential `Throwable` is 
caught when `ExecutionGraph.stop()` is called and a prober `StoppingFailure` 
message is sent back as response. I tested this in local mode. The job manager 
did not go down. Or is there any other place in the code in which this could 
become a problem? As alternative, we could introduce a regular exception (ie, 
`StoppingException`) and add a `throws` clause to `stop()`. What do you think 
about this?


> 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