roryqi opened a new pull request, #13569: URL: https://github.com/apache/gravitino/pull/13569
### What changes were proposed in this pull request? - Add the `iceberg-rest-experimental-server` module. - Register `iceberg-rest-experimental` as an auxiliary service. - Depend on the existing Iceberg REST server while packaging dependencies under a separate classpath. - Support selecting the experimental Iceberg version with `icebergExperimentalVersion`. - Add the experimental module to the Gravitino distribution. - Add configuration documentation and unit tests. ### Why are the changes needed? Developers need to compile against and test new Iceberg APIs from snapshot builds without replacing the stable Iceberg jars. Separating the services into isolated auxiliary-service classloaders prevents stable and experimental Iceberg dependencies from being mixed. Fix: #13568 ### Does this PR introduce _any_ user-facing change? Yes. It adds: - Auxiliary service name `iceberg-rest-experimental`. - Configuration property `gravitino.iceberg-rest-experimental.classpath`. - Gradle property `icebergExperimentalVersion`. - Distribution directory `iceberg-rest-experimental-server`. Users select either `iceberg-rest` or `iceberg-rest-experimental` in `gravitino.auxService.names`. ### How was this patch tested? - `./gradlew :iceberg:iceberg-rest-experimental-server:check rat` - `./gradlew compileDistribution -x test` - Verified ServiceLoader discovery with a unit test. - Verified experimental configuration overrides. - Verified that the Iceberg dependency graph is uniformly replaced when `icebergExperimentalVersion` is specified. - Verified that the packaged experimental directory contains only one Iceberg dependency version. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
