code: private synchronized boolean datanodeReportsReceived(boolean checkDatanodes) {
      try {
        boolean received = this.getDatanodeReportRatio() >=
          this.outStandingReportThreshold;
        if (!received && checkDatanodes) {
          checkDatanodes();
          return this.getDatanodeReportRatio() >= this.outStandingReportThreshold;
        }
        return received;
      } catch (Exception e) {
        LOG.warn("Failover - caught exception when checking reports", e);
        return false;
      }
    }
docs: Checks if the datanode reports have been received
  @param checkDatanodes whether it should actively remove dead datanodes
  @return true if the datanode reports have been received