tillrohrmann commented on a change in pull request #15884:
URL: https://github.com/apache/flink/pull/15884#discussion_r634264117
##########
File path:
flink-runtime/src/test/java/org/apache/flink/runtime/scheduler/adaptive/ExecutingTest.java
##########
@@ -258,6 +305,23 @@ public void
testFalseReportsViaUpdateTaskExecutionStateAreIgnored() throws Excep
}
}
+ @Test
+ public void testExecutionVertexMarkedAsFailedOnDeploymentFailure() throws
Exception {
+ try (MockExecutingContext ctx = new MockExecutingContext()) {
+ MockExecutionJobVertex mejv =
+ new
MockExecutionJobVertex(FailOnDeployMockExecutionVertex::new);
+ ExecutionGraph executionGraph =
+ new MockExecutionGraph(() ->
Collections.singletonList(mejv));
+ Executing exec =
+ new
ExecutingStateBuilder().setExecutionGraph(executionGraph).build(ctx);
+
+ assertThat(
+ ((FailOnDeployMockExecutionVertex)
mejv.getMockExecutionVertex())
+ .getMarkedFailure(),
+ is(instanceOf(JobException.class)));
Review comment:
Do we have a test which ensures that `Execution.markFailed` will result
in the proper exception handling in the `Executing` state?
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/Executing.java
##########
@@ -59,9 +69,17 @@
super(context, executionGraph, executionGraphHandler,
operatorCoordinatorHandler, logger);
this.context = context;
this.userCodeClassLoader = userCodeClassLoader;
+ Preconditions.checkState(
+ executionGraph.getState() == JobStatus.RUNNING, "Assuming
running execution graph");
- deploy();
-
+ if (executingStateBehavior == Behavior.DEPLOY_ON_ENTER) {
+ onAllExecutionVertexes(this::deploySafely);
+ } else if (executingStateBehavior == Behavior.EXPECT_RUNNING) {
+ onAllExecutionVertexes(this::expectRunning);
+ } else {
+ throw new IllegalStateException(
+ "Unexpected executing state behavior " +
executingStateBehavior);
+ }
Review comment:
Couldn't we say that we deploy all not currently running `Executions`
when entering this state?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]