@Override
  public String toString() {
    return MoreObjects.toStringHelper(this)
        .add("partition", partition)
        .add("config", config)
        .add("fragmentSize", fragmentSize)
        .add("undersizedSegmentSize", minTargetSize)
        .add("planTime", planTime)
        .add("lastMinorOptimizeTime", tableRuntime.getLastMinorOptimizingTime())
        .add("lastFullOptimizeTime", tableRuntime.getLastFullOptimizingTime())
        .add("lastFullOptimizeTime", tableRuntime.getLastFullOptimizingTime())
        .add("fragmentFileCount", fragmentFileCount)
        .add("fragmentFileSize", fragmentFileSize)
        .add("rewriteSegmentFileCount", rewriteSegmentFileCount)
        .add("rewriteSegmentFileSize", rewriteSegmentFileSize)
        .add("undersizedSegmentFileCount", undersizedSegmentFileCount)
        .add("undersizedSegmentFileSize", undersizedSegmentFileSize)
        .add("rewritePosSegmentFileCount", rewritePosSegmentFileCount)
        .add("rewritePosSegmentFileSize", rewritePosSegmentFileSize)
        .add("min1SegmentFileSize", min1SegmentFileSize)
        .add("min2SegmentFileSize", min2SegmentFileSize)
        .add("equalityDeleteFileCount", equalityDeleteFileCount)
        .add("equalityDeleteFileSize", equalityDeleteFileSize)
        .add("posDeleteFileCount", posDeleteFileCount)
        .add("posDeleteFileSize", posDeleteFileSize)
        .toString();
  }
Segment files has enough content.

<p>1. The total size of all undersized segment files is greater than target size

<p>2. There are two undersized segment file that can be merged into one
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/compaction/evaluator/amoro/CommonPartitionEvaluator.java