diqiu50 opened a new pull request, #13126:
URL: https://github.com/apache/gravitino/pull/13126

   ### What changes were proposed in this pull request?
   
   - Add `gravitino.iceberg-rest.advertised-uri`. When set, 
`/api/system/iceberg-rest` reports it as-is after the existing service 
availability, config provider and metalake checks; otherwise the endpoint is 
derived from the listener configuration as before.
   - Validate the configured value (absolute `http`/`https` URI with a host, no 
query or fragment). An invalid value fails the discovery request with an 
internal error instead of being silently ignored.
   - Document `/system/iceberg-rest` in the OpenAPI spec and describe the new 
property in the Iceberg REST service and Trino connector docs.
   
   ### Why are the changes needed?
   
   Behind a reverse proxy the public Iceberg REST endpoint may differ from the 
listener's scheme, host, port or path, so discovery reports an endpoint clients 
cannot reach and every Trino client has to set `gravitino.iceberg.rest-uri` 
manually.
   
   Fix: #13098
   
   ### Does this PR introduce _any_ user-facing change?
   
   New optional server property `gravitino.iceberg-rest.advertised-uri`. It 
only affects the advertised endpoint; the listener configuration is unchanged.
   
   ### How was this patch tested?
   
   Unit tests in `TestIcebergRESTServiceOperations` cover the reverse-proxy 
endpoint, fallback to the derived endpoint, metalake and config provider 
checks, and invalid values. `./gradlew :docs:build` validates the OpenAPI spec.
   


-- 
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]

Reply via email to