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 + "." ) ; } partition . markDataProduced ( ) ; 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." ) ; } }
Schedules or updates the consumer tasks of the result partition with the given ID .