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

   ### What changes were proposed in this pull request?
   
   This PR updates the Iceberg JDBC catalog initialization path to load FileIO 
with Iceberg storage credentials.
   
   The JDBC catalog now:
   - Builds warehouse-based `StorageCredential` values from Gravitino 
credential providers.
   - Passes those credentials into Iceberg's `CatalogUtil.loadFileIO(..., 
storageCredentials)`.
   - Allows FileIO implementations such as GCSFileIO to receive credentials 
through `SupportsStorageCredentials#setCredentials`.
   
   ### Why are the changes needed?
   
   When a Gravitino Iceberg catalog backed by JDBC creates a table on GCS, the 
underlying Iceberg catalog uses FileIO during `createTable`. Without passing 
storage credentials into that FileIO, GCS access may fall back to default 
credentials instead of the configured Gravitino GCS credential provider.
   
   This fixes the server-side FileIO path without using a refresh endpoint.
   
   Fix: #9418
   
   ### Does this PR introduce _any_ user-facing change?
   
   No new public API or configuration key is introduced.
   
   Existing Iceberg catalog credential provider configuration can now be 
applied to JDBC catalog FileIO during table creation.
   
   ### How was this patch tested?
   
   - `./gradlew :iceberg:iceberg-common:test --tests 
org.apache.gravitino.iceberg.common.utils.TestIcebergCatalogUtil`
   - `git diff --check`


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