public void shutdown() throws Exception {
  try {
    if (solrClient != null)     solrClient.close();
    List<Callable<JettySolrRunner>> shutdowns=new ArrayList<>(jettys.size());
    for (    final JettySolrRunner jetty : jettys) {
      shutdowns.add(null);
    }
    jettys.clear();
    Collection<Future<JettySolrRunner>> futures=executor.invokeAll(shutdowns);
    Exception shutdownError=checkForExceptions("Error shutting down MiniSolrCloudCluster",futures);
    if (shutdownError != null) {
      throw shutdownError;
    }
  }
  finally {
    executor.shutdown();
    executor.awaitTermination(2,TimeUnit.SECONDS);
    try {
      if (!externalZkServer) {
        zkServer.shutdown();
      }
    }
  finally {
      System.clearProperty("zkHost");
    }
  }
}

public void shutdown ( ) throws Exception { try { if ( solrClient != null ) solrClient . close ( ) ; List < Callable < JettySolrRunner > > shutdowns = new ArrayList < > ( jettys . size ( ) ) ; for ( final JettySolrRunner jetty : jettys ) { shutdowns . add ( null ) ; } jettys . clear ( ) ; Collection < Future < JettySolrRunner > > futures = executor . invokeAll ( shutdowns ) ; Exception shutdownError = checkForExceptions ( "Error shutting down MiniSolrCloudCluster" , futures ) ; if ( shutdownError != null ) { throw shutdownError ; } } finally { executor . shutdown ( ) ; executor . awaitTermination ( 2 , TimeUnit . SECONDS ) ; try { if ( ! externalZkServer ) { zkServer . shutdown ( ) ; } } finally { System . clearProperty ( "zkHost" ) ; } } }
shut down the cluster , including all solr nodes and zookeeper
