public static Long createAndGetEventAckFile(Path currentDumpPath, DumpMetaData dmd, Path cmRoot, String dbEventId,
      String targetDbEventId, HiveConf conf, ReplDumpWork work) throws Exception {
    // Keep an invalid value for lastReplId, to denote it isn't a actual dump.
    Long lastReplId = -1L;
    Path filePath = new Path(currentDumpPath, EVENT_ACK_FILE);
    Utils.writeOutput(dbEventId + FILE_ENTRY_SEPARATOR + targetDbEventId, filePath, conf);
    LOG.info("Created event_ack file at {} with source eventId {} and target eventId {}", filePath, dbEventId,
            targetDbEventId);
    work.setResultValues(Arrays.asList(currentDumpPath.toUri().toString(), String.valueOf(lastReplId)));
    long executionId = conf.getLong(Constants.SCHEDULED_QUERY_EXECUTIONID, 0L);
    dmd.setDump(DumpType.PRE_OPTIMIZED_BOOTSTRAP, work.eventFrom, lastReplId, cmRoot, executionId, false);
    dmd.write(true);
    return lastReplId;
  }
Creates the event ack file and sets the dump metadata post that marking completion of dump flow for first round
of optimised failover dump.
@param currentDumpPath the dump path
@param dmd the dump metadata
@param cmRoot the cmRoot
@param dbEventId the database event id to which we have to write in the file.
@param targetDbEventId the database event id with respect to target cluster.
@param conf the hive configuration
@param work the repldump work
@return the lastReplId denoting a fake dump(-1) always
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/exec/repl/OptimisedBootstrapUtils.java