public void nonMaintainedSnapshotTime(Snapshot snapshot) {
    if (snapshot == null) {
      return;
    }
    // ignore snapshot which is created by amoro maintain commits or no files added
    if (snapshot.summary().values().stream()
            .anyMatch(IcebergTableMaintainer.AMORO_MAINTAIN_COMMITS::contains)
        || Long.parseLong(snapshot.summary().getOrDefault(SnapshotSummary.ADDED_FILES_PROP, "0"))
            == 0) {
      return;
    }

    this.lastNonMaintainedTime = Longs.max(lastNonMaintainedTime, snapshot.timestampMillis());
  }
Handle table self optimizing process complete event.

@param processType optimizing process type.
@param lastTime last optimizing timestamp.
amoro-ams/src/main/java/org/apache/amoro/server/table/TableOptimizingMetrics.java