This is an automated email from the ASF dual-hosted git repository.

diqiu50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new b49f7c9d0e [#10345] fix(optimizer): remove unnecessary optimizer 
config copy (#10347)
b49f7c9d0e is described below

commit b49f7c9d0e39c227d4853419f4ca8608cdaa82e7
Author: FANNG <[email protected]>
AuthorDate: Wed Mar 11 10:35:20 2026 +0900

    [#10345] fix(optimizer): remove unnecessary optimizer config copy (#10347)
    
    ### What changes were proposed in this pull request?
    
    This PR removes the unnecessary optimizer config copy step from
    distribution packaging.
    
    - Delete `copyConfigs` task in `maintenance/optimizer/build.gradle.kts`.
    - Keep `copyLibAndConfigs` task name for compatibility, but make it
    depend only on `copyLibs`.
    
    With this change, `distribution/package/optimizer/conf` is no longer
    populated by files from `src/main/resources`, so SPI service files are
    not placed under `optimizer/conf`.
    
    ### Why are the changes needed?
    
    The optimizer packaging currently copies `src/main/resources` into
    `optimizer/conf`, which introduces non-config files such as:
    
    -
    
`META-INF/services/org.apache.gravitino.maintenance.optimizer.api.common.Provider`
    -
    `org.apache.gravitino.maintenance.optimizer.api.monitor.MetricsEvaluator*`
    -
    
`org.apache.gravitino.maintenance.optimizer.api.updater.StatisticsCalculator`
    
    These files are SPI metadata and should stay on classpath in jars, not
    in config directory.
    
    Fix: #10345
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    - No user-facing API changes.
    - No config key changes.
    - Packaging output is cleaner: optimizer config directory no longer
    contains SPI metadata files.
    
    ### How was this patch tested?
    
    - `GRADLE_USER_HOME=.gradle-local ./gradlew
    :maintenance:optimizer:copyLibAndConfigs -x test`
    - `GRADLE_USER_HOME=.gradle-local ./gradlew compileDistribution -x test
    -x :web:web:build -x :web-v2:web:build`
    - Run optimizer CLI from distribution package:
    - `GRAVITINO_HOME=$PWD GRAVITINO_CONF_DIR=$PWD/conf
    GRAVITINO_LOG_DIR=$PWD/logs ./bin/gravitino-optimizer.sh --help`
    - `GRAVITINO_HOME=$PWD GRAVITINO_CONF_DIR=$PWD/conf
    GRAVITINO_LOG_DIR=$PWD/logs ./bin/gravitino-optimizer.sh --type
    update-statistics --help`
    
    Validation result: `distribution/package/optimizer` contains `libs`
    only, and no unwanted SPI files under `optimizer/conf`.
---
 maintenance/optimizer/build.gradle.kts | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/maintenance/optimizer/build.gradle.kts 
b/maintenance/optimizer/build.gradle.kts
index 87478a2a71..40f1144483 100644
--- a/maintenance/optimizer/build.gradle.kts
+++ b/maintenance/optimizer/build.gradle.kts
@@ -115,23 +115,8 @@ tasks {
     into("$rootDir/distribution/package/optimizer/libs")
   }
 
-  register("copyConfigs", Copy::class) {
-    from("src/main/resources")
-    into("$rootDir/distribution/package/optimizer/conf")
-
-    rename { original ->
-      if (original.endsWith(".template")) {
-        original.replace(".template", "")
-      } else {
-        original
-      }
-    }
-
-    fileMode = 0b111101101
-  }
-
   register("copyLibAndConfigs", Copy::class) {
-    dependsOn("copyLibs", "copyConfigs")
+    dependsOn("copyLibs")
   }
 }
 

Reply via email to