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")
}
}