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

   ### What changes were proposed in this pull request?
   
   Iceberg's `GCSFileIO` does not understand Gravitino's 
`gcs-service-account-file`.
   When that property is set, load the service account at catalog 
initialization and
   inject Iceberg `gcs.oauth2.token` / `gcs.oauth2.token-expires-at` so 
server-side
   FileIO can authenticate (same property-injection style as S3/OSS/ADLS key 
mapping).
   Also update GCS docs that previously required 
`GOOGLE_APPLICATION_CREDENTIALS`
   even when the catalog property was set.
   
   ### Why are the changes needed?
   
   `gcs-service-account-file` reached the credential provider (vending worked) 
but not
   FileIO. Table create wrote metadata with Application Default Credentials and 
failed
   with 401 unless `GOOGLE_APPLICATION_CREDENTIALS` was set on the process.
   
   Fix: #9418
   
   ### Does this PR introduce _any_ user-facing change?
   
   - Configuring `gcs-service-account-file` is sufficient for Iceberg GCS 
FileIO;
     `GOOGLE_APPLICATION_CREDENTIALS` is only a fallback when the property is 
unset.
   - No new public API or property keys.
   
   ### How was this patch tested?
   
   ```
   ./gradlew :iceberg:iceberg-common:test --tests 
org.apache.gravitino.iceberg.common.utils.TestIcebergCatalogUtil -PskipITs
   ```
   
   
   Made with [Cursor](https://cursor.com)


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