docs: public synchronized void reconnect() {
  
          LOGGER.info("start to reconnect....");
  
          int retries = 0;
          while (true) {
  
              try {
  
                  if (!zk.getState().equals(States.CLOSED)) {
                      break;
                  }
  
                  LOGGER.warn("zookeeper lost connection, reconnect");
  
                  close();
  
                  connect(internalHost);
  
              } catch (Exception e) {
  
                  LOGGER.error(retries + "\t" + e.toString());
  
                  // sleep then retry
                  try {
                      int sec = ResilientActiveKeyValueStore.RETRY_PERIOD_SECONDS;
                      LOGGER.warn("sleep " + sec);
                      TimeUnit.SECONDS.sleep(sec);
                  } catch (InterruptedException e1) {
                  }
              }
          }
      }