code: public long getApproxSubmitTime(Result value)
        throws MissingColumnInResultException {
      if (value == null) {
        throw new IllegalArgumentException(
            "Cannot get last modification time from " + "a null hbase result");
      }
  
      Cell cell = value.getColumnLatestCell(Constants.INFO_FAM_BYTES,
          Constants.JOBHISTORY_LAST_MODIFIED_COL_BYTES);
  
      if (cell == null) {
        throw new MissingColumnInResultException(Constants.INFO_FAM_BYTES,
            Constants.JOBHISTORY_LAST_MODIFIED_COL_BYTES);
      }
  
      byte[] lastModTimeBytes = CellUtil.cloneValue(cell);
      // we try to approximately set the job submit time based on when the job
      // history file
      // was last modified and an average job duration
      long lastModTime = Bytes.toLong(lastModTimeBytes);
      long jobSubmitTimeMillis = lastModTime - Constants.AVERGAE_JOB_DURATION;
      LOG.debug("Approximate job submit time is " + jobSubmitTimeMillis
          + " based on " + lastModTime);
      return jobSubmitTimeMillis;
    }
docs: attempts to approximately set the job submit time based on the last
  modification time of the job history file
  @param value result
  @return approximate job submit time
  @throws MissingColumnInResultException