@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    OptimizingConfig that = (OptimizingConfig) o;
    return enabled == that.enabled
        && Double.compare(that.targetQuota, targetQuota) == 0
        && maxExecuteRetryCount == that.maxExecuteRetryCount
        && maxCommitRetryCount == that.maxCommitRetryCount
        && targetSize == that.targetSize
        && maxTaskSize == that.maxTaskSize
        && maxFileCount == that.maxFileCount
        && openFileCost == that.openFileCost
        && fragmentRatio == that.fragmentRatio
        && Double.compare(minTargetSizeRatio, that.minTargetSizeRatio) == 0
        && minorLeastFileCount == that.minorLeastFileCount
        && minorLeastInterval == that.minorLeastInterval
        && Double.compare(that.majorDuplicateRatio, majorDuplicateRatio) == 0
        && fullTriggerInterval == that.fullTriggerInterval
        && fullRewriteAllFiles == that.fullRewriteAllFiles
        && Objects.equal(filter, that.filter)
        && baseHashBucket == that.baseHashBucket
        && baseRefreshInterval == that.baseRefreshInterval
        && hiveRefreshInterval == that.hiveRefreshInterval
        && Objects.equal(optimizerGroup, that.optimizerGroup)
        && Objects.equal(minPlanInterval, that.minPlanInterval);
  }
Configuration for optimizing process scheduling and executing.
amoro-common/src/main/java/org/apache/amoro/config/OptimizingConfig.java