distributed-v2/src/main/java/com/orientechnologies/orient/distributed/impl/ONodeManager.java
protected void initCheckDisconnect() {
    disconnectTimer = new TimerTask() {
      public void run() {
        try {
          checkIfKnownServersAreAlive();
          if (running) {
            initCheckDisconnect();
          }
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    };
    taskScheduler.scheduleOnce(disconnectTimer, discoveryPingIntervalMillis);
  }
protected void initCheckDisconnect() {
    disconnectTimer = new TimerTask() {
      public void run() {
        try {
          checkIfKnownServersAreAlive();
          if (running) {
            initCheckDisconnect();
          }
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    };
    taskScheduler.scheduleOnce(disconnectTimer, discoveryPingIntervalMillis);
  }
inits the procedure that checks if a server is no longer available, ie. if he did not ping for a long time