@Override public ExecutionState getExecutionState() { return currentExecution.getState(); }
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(); }
@Override public ExecutionState getExecutionState() { return currentExecution.getState(); }
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(); }
@Override public ExecutionState getExecutionState() { return currentExecution.getState(); }
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()); }
@Override public ExecutionState getExecutionState() { return currentExecution.getState(); }
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()); }
@Override public CompletableFuture<ExecutionState> requestPartitionState( final IntermediateDataSetID intermediateResultId, final ResultPartitionID resultPartitionId) { final Execution execution = executionGraph.getRegisteredExecutions().get(resultPartitionId.getProducerId()); if (execution != null) { return CompletableFuture.completedFuture(execution.getState()); } else { final IntermediateResult intermediateResult = executionGraph.getAllIntermediateResults().get(intermediateResultId); if (intermediateResult != null) { // Try to find the producing execution Execution producerExecution = intermediateResult .getPartitionById(resultPartitionId.getPartitionId()) .getProducer() .getCurrentExecutionAttempt(); if (producerExecution.getAttemptId().equals(resultPartitionId.getProducerId())) { return CompletableFuture.completedFuture(producerExecution.getState()); } else { return FutureUtils.completedExceptionally(new PartitionProducerDisposedException(resultPartitionId)); } } else { return FutureUtils.completedExceptionally(new IllegalArgumentException("Intermediate data set with ID " + intermediateResultId + " not found.")); } } }
@Override public CompletableFuture<ExecutionState> requestPartitionState( final IntermediateDataSetID intermediateResultId, final ResultPartitionID resultPartitionId) { final Execution execution = executionGraph.getRegisteredExecutions().get(resultPartitionId.getProducerId()); if (execution != null) { return CompletableFuture.completedFuture(execution.getState()); } else { final IntermediateResult intermediateResult = executionGraph.getAllIntermediateResults().get(intermediateResultId); if (intermediateResult != null) { // Try to find the producing execution Execution producerExecution = intermediateResult .getPartitionById(resultPartitionId.getPartitionId()) .getProducer() .getCurrentExecutionAttempt(); if (producerExecution.getAttemptId().equals(resultPartitionId.getProducerId())) { return CompletableFuture.completedFuture(producerExecution.getState()); } else { return FutureUtils.completedExceptionally(new PartitionProducerDisposedException(resultPartitionId)); } } else { return FutureUtils.completedExceptionally(new IllegalArgumentException("Intermediate data set with ID " + intermediateResultId + " not found.")); } } }
boolean allCreated = true; for (Execution execution : getRegisteredExecutions().values()) { if (execution.getState() != ExecutionState.CREATED) { allCreated = false; break;
@Override public CompletableFuture<ExecutionState> requestPartitionState( final IntermediateDataSetID intermediateResultId, final ResultPartitionID resultPartitionId) { final Execution execution = executionGraph.getRegisteredExecutions().get(resultPartitionId.getProducerId()); if (execution != null) { return CompletableFuture.completedFuture(execution.getState()); } else { final IntermediateResult intermediateResult = executionGraph.getAllIntermediateResults().get(intermediateResultId); if (intermediateResult != null) { // Try to find the producing execution Execution producerExecution = intermediateResult .getPartitionById(resultPartitionId.getPartitionId()) .getProducer() .getCurrentExecutionAttempt(); if (producerExecution.getAttemptId().equals(resultPartitionId.getProducerId())) { return CompletableFuture.completedFuture(producerExecution.getState()); } else { return FutureUtils.completedExceptionally(new PartitionProducerDisposedException(resultPartitionId)); } } else { return FutureUtils.completedExceptionally(new IllegalArgumentException("Intermediate data set with ID " + intermediateResultId + " not found.")); } } }
@RpcMethod public ExecutionState requestPartitionState( final UUID leaderSessionID, final IntermediateDataSetID intermediateResultId, final ResultPartitionID resultPartitionId) throws Exception { validateLeaderSessionId(leaderSessionID); final Execution execution = executionGraph.getRegisteredExecutions().get(resultPartitionId.getProducerId()); if (execution != null) { return execution.getState(); } else { final IntermediateResult intermediateResult = executionGraph.getAllIntermediateResults().get(intermediateResultId); if (intermediateResult != null) { // Try to find the producing execution Execution producerExecution = intermediateResult .getPartitionById(resultPartitionId.getPartitionId()) .getProducer() .getCurrentExecutionAttempt(); if (producerExecution.getAttemptId() == resultPartitionId.getProducerId()) { return producerExecution.getState(); } else { throw new PartitionProducerDisposedException(resultPartitionId); } } else { throw new IllegalArgumentException("Intermediate data set with ID " + intermediateResultId + " not found."); } } }
/** * Recover the pipelined result partition consume status after job master failover. * * @param resultId The intermediate data set id in the log. */ public void recoverResultPartitionStatus( IntermediateDataSetID resultId, TaskManagerLocation location) { IntermediateResultPartition partitionToRecover = null; for (IntermediateResultPartition irp : getProducedPartitions().values()) { if (irp.getIntermediateResult().getId().equals(resultId)) { partitionToRecover = irp; } } if (partitionToRecover == null) { throw new FlinkRuntimeException("Can not find the intermediate result " + resultId + " on " + getTaskNameWithSubtaskIndex()); } if (!(ExecutionState.RUNNING.equals(currentExecution.getState()) && partitionToRecover.getResultType().isPipelined())) { throw new FlinkRuntimeException("Invalid state " + currentExecution.getState() + " for " + getTaskNameWithSubtaskIndex()); } currentExecution.getTaskManagerLocationFuture().complete(location); scheduleOrUpdateConsumers(new ResultPartitionID(partitionToRecover.getPartitionId(), currentExecution.getAttemptId())); }
final ExecutionState consumerState = consumer.getState();
if (execution != null && execution.getState() == ExecutionState.RUNNING) { executions[i] = execution; triggerIds[i] = execution.getAttemptId();
final ExecutionState oldState = oldExecution.getState();
final ExecutionState oldState = oldExecution.getState();
final Execution producer = consumedPartition.getProducer().getCurrentExecutionAttempt(); final ExecutionState producerState = producer.getState(); final LogicalSlot producerSlot = producer.getAssignedResource();
final Execution producer = consumedPartition.getProducer().getCurrentExecutionAttempt(); final ExecutionState producerState = producer.getState(); final LogicalSlot producerSlot = producer.getAssignedResource();