@Override public void onTaskFailure(Execution taskExecution, Throwable cause) { // this strategy makes every task failure a global failure executionGraph.failGlobal(cause); }
@Override public void onTaskFailure(Execution taskExecution, Throwable cause) { // this strategy makes every task failure a global failure executionGraph.failGlobal(cause); }
@Override public void onTaskFailure(Execution taskExecution, Throwable cause) { // this strategy makes every task failure a global failure executionGraph.failGlobal(cause); }
@Override public void onTaskFailure(Execution taskExecution, Throwable cause) { // this strategy makes every task failure a global failure executionGraph.failGlobal(cause); }
void deregisterExecution(Execution exec) { Execution contained = currentExecutions.remove(exec.getAttemptId()); if (contained != null && contained != exec) { failGlobal(new Exception("De-registering execution " + exec + " failed. Found for same ID execution " + contained)); } }
void deregisterExecution(Execution exec) { Execution contained = currentExecutions.remove(exec.getAttemptId()); if (contained != null && contained != exec) { failGlobal(new Exception("De-registering execution " + exec + " failed. Found for same ID execution " + contained)); } }
void deregisterExecution(Execution exec) { Execution contained = currentExecutions.remove(exec.getAttemptId()); if (contained != null && contained != exec) { failGlobal(new Exception("De-registering execution " + exec + " failed. Found for same ID execution " + contained)); } }
@Override public void run() { try { executionGraph.scheduleForExecution(); } catch (Throwable t) { executionGraph.failGlobal(t); } } });
void deregisterExecution(Execution exec) { Execution contained = currentExecutions.remove(exec.getAttemptId()); if (contained != null && contained != exec) { failGlobal(new Exception("De-registering execution " + exec + " failed. Found for same ID execution " + contained)); } }
void registerExecution(Execution exec) { Execution previous = currentExecutions.putIfAbsent(exec.getAttemptId(), exec); if (previous != null) { failGlobal(new Exception("Trying to register execution " + exec + " for already used ID " + exec.getAttemptId())); } }
void registerExecution(Execution exec) { Execution previous = currentExecutions.putIfAbsent(exec.getAttemptId(), exec); if (previous != null) { failGlobal(new Exception("Trying to register execution " + exec + " for already used ID " + exec.getAttemptId())); } }
void registerExecution(Execution exec) { Execution previous = currentExecutions.putIfAbsent(exec.getAttemptId(), exec); if (previous != null) { failGlobal(new Exception("Trying to register execution " + exec + " for already used ID " + exec.getAttemptId())); } }
void registerExecution(Execution exec) { Execution previous = currentExecutions.putIfAbsent(exec.getAttemptId(), exec); if (previous != null) { failGlobal(new Exception("Trying to register execution " + exec + " for already used ID " + exec.getAttemptId())); } }
private void scheduleExecutionGraph() { try { operationLogManager.start(); executionGraph.scheduleForExecution(); } catch (JobException e) { jobCompletionActions.jobMasterFailed(e); } catch (Throwable t) { executionGraph.failGlobal(t); } }
private void scheduleExecutionGraph() { checkState(jobStatusListener == null); // register self as job status change listener jobStatusListener = new JobManagerJobStatusListener(); executionGraph.registerJobStatusListener(jobStatusListener); try { executionGraph.scheduleForExecution(); } catch (Throwable t) { executionGraph.failGlobal(t); } }
public void onExecutionFail(Execution taskExecution, Throwable cause) { // TODO: check if need to failover the preceding region if (!executionGraph.getRestartStrategy().canRestart()) { // delegate the failure to a global fail that will check the restart strategy and not restart executionGraph.failGlobal(cause); } else { cancel(taskExecution.getGlobalModVersion()); } }
public void onExecutionFail(Execution taskExecution, Throwable cause) { // TODO: check if need to failover the preceding region if (!executionGraph.getRestartStrategy().canRestart()) { // delegate the failure to a global fail that will check the restart strategy and not restart executionGraph.failGlobal(cause); } else { cancel(taskExecution.getGlobalModVersion()); } }
public void onExecutionFail(Execution taskExecution, Throwable cause) { // TODO: check if need to failover the preceding region if (!executionGraph.getRestartStrategy().canRestart()) { // delegate the failure to a global fail that will check the restart strategy and not restart executionGraph.failGlobal(cause); } else { cancel(taskExecution.getGlobalModVersion()); } }
private void scheduleExecutionGraph() { checkState(jobStatusListener == null); // register self as job status change listener jobStatusListener = new JobManagerJobStatusListener(); executionGraph.registerJobStatusListener(jobStatusListener); try { executionGraph.scheduleForExecution(); } catch (Throwable t) { executionGraph.failGlobal(t); } }
@Override public void onTaskFailure(Execution taskExecution, Throwable cause) { final ExecutionVertex ev = taskExecution.getVertex(); final FailoverRegion failoverRegion = vertexToRegion.get(ev); if (failoverRegion == null) { executionGraph.failGlobal(new FlinkException( "Can not find a failover region for the execution " + ev.getTaskNameWithSubtaskIndex(), cause)); } else { LOG.info("Recovering task failure for {} #{} ({}) via restart of failover region", taskExecution.getVertex().getTaskNameWithSubtaskIndex(), taskExecution.getAttemptNumber(), taskExecution.getAttemptId()); failoverRegion.onExecutionFail(taskExecution, cause); } }