public void retriggerPartitionRequest ( IntermediateResultPartitionID partitionId ) throws IOException , InterruptedException { synchronized ( requestLock ) { if ( ! isReleased ) { final InputChannel ch = inputChannels . get ( partitionId ) ; checkNotNull ( ch , "Unknown input channel with ID " + partitionId ) ; LOG . debug ( "{}: Retriggering partition request {}:{}." , owningTaskName , ch . partitionId , consumedSubpartitionIndex ) ; if ( ch . getClass ( ) == RemoteInputChannel . class ) { final RemoteInputChannel rch = ( RemoteInputChannel ) ch ; rch . retriggerSubpartitionRequest ( consumedSubpartitionIndex ) ; } else if ( ch . getClass ( ) == LocalInputChannel . class ) { final LocalInputChannel ich = ( LocalInputChannel ) ch ; if ( retriggerLocalRequestTimer == null ) { retriggerLocalRequestTimer = new Timer ( true ) ; } ich . retriggerSubpartitionRequest ( retriggerLocalRequestTimer , consumedSubpartitionIndex ) ; } else { throw new IllegalStateException ( "Unexpected type of channel to retrigger partition: " + ch . getClass ( ) ) ; } } } }
Retriggers a partition request .