Peter Rozsa has uploaded a new patch set (#3). ( 
http://gerrit.cloudera.org:8080/24755 )

Change subject: IMPALA-15144: Fetch and store credentials from REST catalog
......................................................................

IMPALA-15144: Fetch and store credentials from REST catalog

Extract vended storage credentials from an Iceberg REST catalog's
LoadTableResponse and store them in the Iceberg table object.

A new Credential class is added: a boundary type holding a location
prefix plus a config map. Its toHadoopConfig() maps platform-specific
keys to Hadoop-compatible ones.

Credential extraction happens after table loading via
extractCredential(); each credential is then mapped to Hadoop-compatible
configurations.

VendedCredentialsFileIO is added as a wrapper FileIO because the
underlying Iceberg-supplied HadoopFileIO caches the filesystem and
stores the credential per filesystem, which can be a problem on
multi-cloud tables or tables with files that have different ACL rules.

RESTCatalogProperties is extended with credential-vending-based property
handling, and the property translation mechanism is extracted into a
separate class to make it reusable for cloud-provider-specific config
key mapping.

Tests:
 - ConfigTranslatorTests added
 - CredentialTest added

Change-Id: I1d9c6e97e17fe8ad6304b49b07fd047cc2a3ffbe
Assisted-by: Claude Opus 4.8 (opencode)
---
M common/thrift/CatalogObjects.thrift
M fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java
M fe/src/main/java/org/apache/impala/catalog/iceberg/RESTCatalogProperties.java
A 
fe/src/main/java/org/apache/impala/catalog/iceberg/VendedCredentialsFileIO.java
A 
fe/src/main/java/org/apache/impala/catalog/iceberg/translate/ConfigTranslator.java
A 
fe/src/main/java/org/apache/impala/catalog/iceberg/translate/CredentialScheme.java
A 
fe/src/main/java/org/apache/impala/catalog/iceberg/translate/TranslationRule.java
M fe/src/main/java/org/apache/impala/catalog/local/IcebergMetaProvider.java
M fe/src/main/java/org/apache/impala/catalog/local/LocalIcebergTable.java
M fe/src/main/java/org/apache/impala/catalog/local/MetaProvider.java
A fe/src/main/java/org/apache/impala/common/Credential.java
A fe/src/test/java/org/apache/impala/catalog/iceberg/CredentialTest.java
M 
fe/src/test/java/org/apache/impala/catalog/iceberg/TestRESTCatalogProperties.java
A 
fe/src/test/java/org/apache/impala/catalog/iceberg/translate/ConfigTranslatorTest.java
14 files changed, 1,353 insertions(+), 195 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/55/24755/3
--
To view, visit http://gerrit.cloudera.org:8080/24755
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1d9c6e97e17fe8ad6304b49b07fd047cc2a3ffbe
Gerrit-Change-Number: 24755
Gerrit-PatchSet: 3
Gerrit-Owner: Peter Rozsa <[email protected]>
Gerrit-Reviewer: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Nandor Kollar <[email protected]>
Gerrit-Reviewer: Peter Rozsa <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>

Reply via email to