void setSafeToken(StoreFindToken safeToken) {
    CycleLog cycleLog = getCurrentCycleLog();
    if (!cycleLog.getPhase().equals(Phase.COPY)) {
      throw new IllegalStateException("Cannot set a safe token - not in COPY phase");
    }
    cycleLog.safeToken = safeToken;
    flush();
    logger.trace("{}: Set safe token to {} during compaction of {}", file, cycleLog.safeToken,
        cycleLog.compactionDetails);
  }
Sets the {@link StoreFindToken} until which data is copied and flushed.
@param safeToken the {@link StoreFindToken} until which data is copied and flushed.
ambry-store/src/main/java/com/github/ambry/store/CompactionLog.java