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

   ### What changes were proposed in this pull request?
   
   For Iceberg catalogs with a non-REST backend, the Flink connector now checks 
`credential-providers` when it opens the catalog:
   
   - `aws-irsa` is rejected, because its catalog-level credential is injected 
once and expires after `s3-token-expire-in-secs`.
   - `s3-token`, `gcs-token`, `adls-token`, `oss-token` and `cos-token` log a 
warning, because they vend nothing at catalog level and Iceberg falls back to 
the credentials on the Flink nodes.
   - REST backends are not affected.
   
   The docs now state that Flink only receives static credentials for non-REST 
backends, and that per-table refreshable credentials require a REST backend 
with `data-access=vended-credentials`.
   
   ### Why are the changes needed?
   
   The Flink connector fetches catalog-level credentials once and never 
refreshes them. With `aws-irsa`, jobs fail with `ExpiredToken` after about an 
hour; with the other token providers, Flink silently gets no credential, while 
the docs claim credentials are consumed automatically.
   
   Fix: #14031
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Loading an Iceberg catalog with a Hive or JDBC backend and `aws-irsa` 
now fails in Flink. Token providers only log a warning.
   
   ### How was this patch tested?
   
   Added unit tests in `TestGravitinoIcebergCatalog`.
   


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