public boolean stop(){
  logger.info("Stopping Gondola instance for host {}...",hostId);
  boolean status=network.stop();
  status=Utils.stopThreads(threads) && status;
  threads.clear();
  for (  Shard shard : shards) {
    status=shard.stop() && status;
  }
  shards.clear();
  shardMap.clear();
  status=storage.stop() && status;
  status=clock.stop() && status;
  try {
    mbs.unregisterMBean(objectName);
    inited=false;
  }
 catch (  InstanceNotFoundException|MBeanRegistrationException e) {
    logger.error("Unregister MBean failed",e);
  }
catch (  Exception e) {
    logger.error(e.getMessage(),e);
  }
  return status;
}

public boolean stop ( ) { logger . info ( "Stopping Gondola instance for host {}..." , hostId ) ; boolean status = network . stop ( ) ; status = Utils . stopThreads ( threads ) && status ; threads . clear ( ) ; for ( Shard shard : shards ) { status = shard . stop ( ) && status ; } shards . clear ( ) ; shardMap . clear ( ) ; status = storage . stop ( ) && status ; status = clock . stop ( ) && status ; try { mbs . unregisterMBean ( objectName ) ; inited = false ; } catch ( InstanceNotFoundException | MBeanRegistrationException e ) { logger . error ( "Unregister MBean failed" , e ) ; } catch ( Exception e ) { logger . error ( e . getMessage ( ) , e ) ; } return status ; }
stops all threads and releases all resources . after this call , start ( ) can be called again .
