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())); } }
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)); } }
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)); } }
/** * Schedules or updates the consumer tasks of the result partition with the given ID. */ void scheduleOrUpdateConsumers(ResultPartitionID partitionId) { final Execution execution = currentExecution; // Abort this request if there was a concurrent reset if (!partitionId.getProducerId().equals(execution.getAttemptId())) { return; } final IntermediateResultPartition partition = resultPartitions.get(partitionId.getPartitionId()); if (partition == null) { throw new IllegalStateException("Unknown partition " + partitionId + "."); } if (partition.getIntermediateResult().getResultType().isPipelined()) { // Schedule or update receivers of this partition execution.scheduleOrUpdateConsumers(partition.getConsumers()); } else { throw new IllegalArgumentException("ScheduleOrUpdateConsumers msg is only valid for" + "pipelined partitions."); } }
@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); } }
/** * Creates a partial input channel for the given partition and producing task. */ public static PartialInputChannelDeploymentDescriptor fromEdge( IntermediateResultPartition partition, Execution producer) { final ResultPartitionID partitionId = new ResultPartitionID( partition.getPartitionId(), producer.getAttemptId()); final IntermediateResult result = partition.getIntermediateResult(); final TaskManagerLocation partitionConnectionInfo = producer.getAssignedResourceLocation(); return new PartialInputChannelDeploymentDescriptor( result, partitionId, partitionConnectionInfo); } }
@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); } }
@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); } }
/** * Creates a partial input channel for the given partition and producing task. */ public static PartialInputChannelDeploymentDescriptor fromEdge( IntermediateResultPartition partition, Execution producer) { final ResultPartitionID partitionId = new ResultPartitionID( partition.getPartitionId(), producer.getAttemptId()); final IntermediateResult result = partition.getIntermediateResult(); final IntermediateDataSetID resultId = result.getId(); final TaskManagerLocation partitionConnectionInfo = producer.getAssignedResourceLocation(); final int partitionConnectionIndex = result.getConnectionIndex(); return new PartialInputChannelDeploymentDescriptor( resultId, partitionId, partitionConnectionInfo, partitionConnectionIndex); } }
/** * Creates a partial input channel for the given partition and producing task. */ public static PartialInputChannelDeploymentDescriptor fromEdge( IntermediateResultPartition partition, Execution producer) { final ResultPartitionID partitionId = new ResultPartitionID( partition.getPartitionId(), producer.getAttemptId()); final IntermediateResult result = partition.getIntermediateResult(); final IntermediateDataSetID resultId = result.getId(); final TaskManagerLocation partitionConnectionInfo = producer.getAssignedResourceLocation(); final int partitionConnectionIndex = result.getConnectionIndex(); return new PartialInputChannelDeploymentDescriptor( resultId, partitionId, partitionConnectionInfo, partitionConnectionIndex); } }
/** * Creates a partial input channel for the given partition and producing task. */ public static PartialInputChannelDeploymentDescriptor fromEdge( IntermediateResultPartition partition, Execution producer) { final ResultPartitionID partitionId = new ResultPartitionID( partition.getPartitionId(), producer.getAttemptId()); final IntermediateResult result = partition.getIntermediateResult(); final IntermediateDataSetID resultId = result.getId(); final TaskManagerLocation partitionConnectionInfo = producer.getAssignedResourceLocation(); final int partitionConnectionIndex = result.getConnectionIndex(); return new PartialInputChannelDeploymentDescriptor( resultId, partitionId, partitionConnectionInfo, partitionConnectionIndex); } }
public ArchivedExecution(Execution execution) { this.userAccumulators = execution.getUserAccumulatorsStringified(); this.attemptId = execution.getAttemptId(); this.attemptNumber = execution.getAttemptNumber(); this.stateTimestamps = execution.getStateTimestamps(); this.parallelSubtaskIndex = execution.getVertex().getParallelSubtaskIndex(); this.state = execution.getState(); this.failureCause = ExceptionUtils.stringifyException(execution.getFailureCause()); this.assignedResourceLocation = execution.getAssignedResourceLocation(); this.ioMetrics = execution.getIOMetrics(); }
public ArchivedExecution(Execution execution) { this.userAccumulators = execution.getUserAccumulatorsStringified(); this.attemptId = execution.getAttemptId(); this.attemptNumber = execution.getAttemptNumber(); this.stateTimestamps = execution.getStateTimestamps(); this.parallelSubtaskIndex = execution.getVertex().getParallelSubtaskIndex(); this.state = execution.getState(); this.failureCause = ExceptionUtils.stringifyException(execution.getFailureCause()); this.assignedResourceLocation = execution.getAssignedResourceLocation(); this.ioMetrics = execution.getIOMetrics(); }
public ArchivedExecution(Execution execution) { this( execution.getUserAccumulatorsStringified(), execution.getIOMetrics(), execution.getAttemptId(), execution.getAttemptNumber(), execution.getState(), ExceptionUtils.stringifyException(execution.getFailureCause()), execution.getAssignedResourceLocation(), execution.getAssignedAllocationID(), execution.getVertex().getParallelSubtaskIndex(), execution.getStateTimestamps()); }
public ArchivedExecution(Execution execution) { this( execution.getUserAccumulatorsStringified(), execution.getIOMetrics(), execution.getAttemptId(), execution.getAttemptNumber(), execution.getState(), ExceptionUtils.stringifyException(execution.getFailureCause()), execution.getAssignedResourceLocation(), execution.getAssignedAllocationID(), execution.getVertex().getParallelSubtaskIndex(), execution.getStateTimestamps()); }