@Override
  public synchronized void close() throws IoTDBConnectionException {
    if (isClosed) {
      return;
    }
    try {
      if (enableRedirection) {
        for (SessionConnection sessionConnection : endPointToSessionConnection.values()) {
          sessionConnection.close();
        }
      } else {
        defaultSessionConnection.close();
      }
    } finally {
      // if executorService is null, it means that availableNodes is got from SessionPool and we
      // shouldn't clean that
      if (this.executorService != null) {
        this.executorService.shutdown();
        this.executorService = null;
        this.availableNodes.close();
        this.availableNodes = null;
      }
      isClosed = true;
    }
  }
Multiple nodeUrl,If one node down, connect to the next one

@param nodeUrls List<String> Multiple ip:rpcPort eg.127.0.0.1:9001
iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java