protected synchronized void scheduleMap ( TaskInProgress tip ) { runningMapTaskStats . add ( 0.0f ) ; runningTaskMapByteProcessingRateStats . add ( 0.0f ) ; if ( runningMapCache == null ) { LOG . warn ( "Running cache for maps is missing!! " + "Job details are missing." ) ; return ; } String [ ] splitLocations = tip . getSplitLocations ( ) ; // Add the TIP to the list of non-local running TIPs if ( splitLocations . length == 0 ) { nonLocalRunningMaps . add ( tip ) ; return ; } for ( String host : splitLocations ) { Node node = jobtracker . getNode ( host ) ; for ( int j = 0 ; j < maxLevel ; ++ j ) { Set < TaskInProgress > hostMaps = runningMapCache . get ( node ) ; if ( hostMaps == null ) { // create a cache if needed hostMaps = new LinkedHashSet < TaskInProgress > ( ) ; runningMapCache . put ( node , hostMaps ) ; } hostMaps . add ( tip ) ; node = node . getParent ( ) ; } } }
Adds a map tip to the list of running maps .