public void stop ( ) { if ( stopRequested ) { return ; } stopRequested = true ; running = false ; if ( server != null ) server . stop ( ) ; if ( triggerThread != null ) { triggerThread . interrupt ( ) ; triggerMonitor = null ; } if ( urfThread != null ) { urfThread . interrupt ( ) ; urfProcessor = null ; } if ( blockIntegrityMonitor != null ) blockIntegrityMonitor . running = false ; if ( blockFixerThread != null ) blockFixerThread . interrupt ( ) ; if ( blockCopierThread != null ) blockCopierThread . interrupt ( ) ; if ( corruptFileCounterThread != null ) corruptFileCounterThread . interrupt ( ) ; if ( purgeMonitor != null ) purgeMonitor . running = false ; if ( purgeThread != null ) purgeThread . interrupt ( ) ; if ( placementMonitor != null ) placementMonitor . stop ( ) ; if ( statsCollector != null ) statsCollector . stop ( ) ; if ( statsCollectorThread != null ) statsCollectorThread . interrupt ( ) ; if ( infoServer != null ) { try { infoServer . stop ( ) ; } catch ( Exception e ) { LOG . warn ( "Exception shutting down " + RaidNode . class , e ) ; } } this . unregisterMBean ( ) ; }
Stop all RaidNode threads and wait for all to finish .