[
https://issues.apache.org/jira/browse/FLINK-2111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15093990#comment-15093990
]
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_r49462409
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/Task.java ---
@@ -742,10 +743,38 @@ private void notifyFatalError(String message,
Throwable cause) {
}
//
----------------------------------------------------------------------------------------------------------------
- // Canceling / Failing the task from the outside
+ // Stopping / Canceling / Failing the task from the outside
//
----------------------------------------------------------------------------------------------------------------
/**
+ * Stops the executing task by calling {@link Stoppable#stop()}.
+ * <p>
+ * This method never blocks.
+ * </p>
+ *
+ * @throws UnsupportedOperationException
+ * if the {@link AbstractInvokable} does not implement
{@link Stoppable}
+ */
+ public void stopExecution() throws UnsupportedOperationException {
+ LOG.info("Attempting to stop task " + taskNameWithSubtask);
+ if(this.invokable instanceof Stoppable) {
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ try {
+
((Stoppable)Task.this.invokable).stop();
+ } catch(RuntimeException e) {
+ LOG.error("Stopping task " +
taskNameWithSubtask + " failed.", e);
--- End diff --
Shouldn't a `RuntimeException` cause the task to fail? We should notify the
`JobManager` about this and fail the corresponding task. E.g. we could send a
`FailTask` message to the `TaskManager` to fail the task.
> 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)