roryqi opened a new issue, #13568: URL: https://github.com/apache/gravitino/issues/13568
### Describe the feature Add an experimental Iceberg REST auxiliary service that can use a different Iceberg dependency version from the stable Iceberg REST service. ### Motivation Development may require APIs from an unpublished Iceberg snapshot. Loading stable and experimental Iceberg jars in the same classloader is unsafe because their classes may be binary incompatible. The stable Iceberg REST service should remain unchanged while allowing developers to build and run an experimental variant. ### Describe the solution - Add an `iceberg-rest-experimental-server` module that depends on `iceberg-rest-server`. - Package it in a separate library directory and load it through an isolated auxiliary-service classloader. - Allow its Iceberg dependency version to be selected with the `icebergExperimentalVersion` Gradle property. - Register the service as `iceberg-rest-experimental`. - Select either `iceberg-rest` or `iceberg-rest-experimental` through `gravitino.auxService.names`. - Reuse regular `gravitino.iceberg-rest.*` settings while allowing experimental-prefixed overrides. ### Additional context Before the snapshot artifact is published, the experimental module falls back to the repository's regular Iceberg version so normal builds remain reproducible. -- 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]
