[
https://issues.apache.org/jira/browse/FLINK-5934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15890186#comment-15890186
]
ASF GitHub Bot commented on FLINK-5934:
---------------------------------------
GitHub user tillrohrmann opened a pull request:
https://github.com/apache/flink/pull/3440
[backport-1.2] [FLINK-5934] Set the Scheduler in the ExecutionGraph via its
constructor
This is a backport of #3437.
This PR is based on #3439.
Before the scheduler was set when calling
ExecutionGraph.scheduleForExecution(). This
has the disadvantage that the ExecutionGraph has not scheduler set if
something else
went wrong before the scheduleForExecution call. Consequently, the job will
be stuck
in a restart loop because the recovery will fail if there is no Scheduler
set. In
order to solve the problem, the Scheduler is not passed to the
ExecutionGraph when
it is created.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tillrohrmann/flink
fixExecutionGraphSchedulerBp1.2
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/3440.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3440
----
commit 045e2187f6d43679115909b10aaeb78c627b758c
Author: Till Rohrmann <[email protected]>
Date: 2017-02-28T16:27:03Z
[FLINK-5938] Replace ExecutionContext by Executor in Scheduler
In order to remove the Scheduler's dependency on Scala's ExecutionContext
and
Akka's futures, this PR replaces the ExecutionContext by an Executor which
is
used to execute the concurrent handleNewSlot call.
commit 2525fb2a0e08418f09319568f58ed7daa9284376
Author: Till Rohrmann <[email protected]>
Date: 2017-02-28T14:20:47Z
[FLINK-5934] Set the Scheduler in the ExecutionGraph via its constructor
Before the scheduler was set when calling
ExecutionGraph.scheduleForExecution(). This
has the disadvantage that the ExecutionGraph has not scheduler set if
something else
went wrong before the scheduleForExecution call. Consequently, the job will
be stuck
in a restart loop because the recovery will fail if there is no Scheduler
set. In
order to solve the problem, the Scheduler is not passed to the
ExecutionGraph when
it is created.
----
> Scheduler in ExecutionGraph null if failure happens in
> ExecutionGraph.restoreLatestCheckpointedState
> ----------------------------------------------------------------------------------------------------
>
> Key: FLINK-5934
> URL: https://issues.apache.org/jira/browse/FLINK-5934
> Project: Flink
> Issue Type: Bug
> Components: Distributed Coordination
> Affects Versions: 1.2.0, 1.1.4, 1.3.0
> Reporter: Till Rohrmann
> Assignee: Till Rohrmann
>
> If {{ExecutionGraph.restoreLatestCheckpointedState}} fails with an exception,
> then all subsequent recoveries will fail because the {{scheduler}} has not
> been set in the {{ExecutionGraph}}.
> I propose to set the {{scheduler}} when the {{ExecutionGraph}} is created to
> avoid this problem.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)