void addNewTracker ( TaskTracker taskTracker ) { TaskTrackerStatus status = taskTracker . getStatus ( ) ; trackerExpiryQueue . add ( status ) ; // Register the tracker if its not registered String hostname = status . getHost ( ) ; if ( getNode ( status . getTrackerName ( ) ) == null ) { // Making the network location resolution inline .. resolveAndAddToTopology ( hostname ) ; } // add it to the set of tracker per host Set < TaskTracker > trackers = hostnameToTaskTracker . get ( hostname ) ; if ( trackers == null ) { trackers = Collections . synchronizedSet ( new HashSet < TaskTracker > ( ) ) ; hostnameToTaskTracker . put ( hostname , trackers ) ; } statistics . taskTrackerAdded ( status . getTrackerName ( ) ) ; getInstrumentation ( ) . addTrackers ( 1 ) ; LOG . info ( "Adding tracker " + status . getTrackerName ( ) + " to host " + hostname ) ; trackers . add ( taskTracker ) ; }
Adds a new node to the jobtracker . It involves adding it to the expiry thread and adding it for resolution