currentExecution.getTaskManagerLocationFuture().complete(resultDescriptor.getTaskManagerLocation()); resetResultPartitionID(resultDescriptor.getResultPartitionIds()); currentExecution.markFinished();
void markFinished(Map<String, Accumulator<?, ?>> userAccumulators, IOMetrics metrics) { // this call usually comes during RUNNING, but may also come while still in deploying (very fast tasks!) while (true) { ExecutionState current = this.state; if (current == RUNNING || current == DEPLOYING) { if (transitionState(current, FINISHED)) { try { getVertex().finishPartitionsAndNotify(); updateAccumulatorsAndMetrics(userAccumulators, metrics); releaseAssignedResource(null); vertex.getExecutionGraph().deregisterExecution(this); } finally { vertex.executionFinished(this); } return; } } else if (current == CANCELING) { // we sent a cancel call, and the task manager finished before it arrived. We // will never get a CANCELED call back from the job manager cancelingComplete(userAccumulators, metrics); return; }
void markFinished(Map<String, Accumulator<?, ?>> userAccumulators, IOMetrics metrics) { // this call usually comes during RUNNING, but may also come while still in deploying (very fast tasks!) while (true) { ExecutionState current = this.state; if (current == RUNNING || current == DEPLOYING) { if (transitionState(current, FINISHED)) { try { for (IntermediateResultPartition finishedPartition : getVertex().finishAllBlockingPartitions()) { IntermediateResultPartition[] allPartitions = finishedPartition .getIntermediateResult().getPartitions(); for (IntermediateResultPartition partition : allPartitions) { scheduleOrUpdateConsumers(partition.getConsumers()); } } updateAccumulatorsAndMetrics(userAccumulators, metrics); releaseAssignedResource(null); vertex.getExecutionGraph().deregisterExecution(this); } finally { vertex.executionFinished(this); }
void markFinished(Map<String, Accumulator<?, ?>> userAccumulators, IOMetrics metrics) { // this call usually comes during RUNNING, but may also come while still in deploying (very fast tasks!) while (true) { ExecutionState current = this.state; if (current == RUNNING || current == DEPLOYING) { if (transitionState(current, FINISHED)) { try { for (IntermediateResultPartition finishedPartition : getVertex().finishAllBlockingPartitions()) { IntermediateResultPartition[] allPartitions = finishedPartition .getIntermediateResult().getPartitions(); for (IntermediateResultPartition partition : allPartitions) { scheduleOrUpdateConsumers(partition.getConsumers()); } } updateAccumulatorsAndMetrics(userAccumulators, metrics); releaseAssignedResource(null); vertex.getExecutionGraph().deregisterExecution(this); } finally { vertex.executionFinished(this); }
void markFinished(Map<String, Accumulator<?, ?>> userAccumulators, IOMetrics metrics) { // this call usually comes during RUNNING, but may also come while still in deploying (very fast tasks!) while (true) { ExecutionState current = this.state; if (current == RUNNING || current == DEPLOYING) { if (transitionState(current, FINISHED)) { try { for (IntermediateResultPartition finishedPartition : getVertex().finishAllBlockingPartitions()) { IntermediateResultPartition[] allPartitions = finishedPartition .getIntermediateResult().getPartitions(); for (IntermediateResultPartition partition : allPartitions) { scheduleOrUpdateConsumers(partition.getConsumers()); } } updateAccumulatorsAndMetrics(userAccumulators, metrics); assignedResource.releaseSlot(); vertex.getExecutionGraph().deregisterExecution(this); } finally { vertex.executionFinished(this); terminationFuture.complete(FINISHED); }
attempt.markFinished(accumulators, state.getIOMetrics()); return true;
attempt.markFinished(accumulators, state.getIOMetrics()); return true;
attempt.markFinished(accumulators, state.getIOMetrics()); return true;
attempt.markFinished(accumulators, state.getIOMetrics()); return true;