code: long getAckEpoch() throws IOException {
      try {
        long ackEpoch = FileUtils.readLongFromFile(this.fAckEpoch);
        return ackEpoch;
      } catch (FileNotFoundException e) {
        LOG.debug("File not exist, initialize acknowledged epoch to -1");
        return -1;
      } catch (IOException e) {
        LOG.error("IOException encountered when access acknowledged epoch");
        throw e;
      }
    }
docs: Gets the last acknowledged epoch.
  
  @return the last acknowledged epoch.
  @throws IOException in case of IO failures.