tom-s-powell commented on code in PR #14608:
URL: https://github.com/apache/iceberg/pull/14608#discussion_r2542821876
##########
aws/src/main/java/org/apache/iceberg/aws/AwsClientProperties.java:
##########
@@ -106,15 +107,20 @@ public AwsClientProperties() {
this.refreshCredentialsEndpoint = null;
this.refreshCredentialsEnabled = true;
this.legacyMd5pluginEnabled = false;
- this.allProperties = null;
}
public AwsClientProperties(Map<String, String> properties) {
- this.allProperties = SerializableMap.copyOf(properties);
this.clientRegion = properties.get(CLIENT_REGION);
this.clientCredentialsProvider =
properties.get(CLIENT_CREDENTIALS_PROVIDER);
+ // Retain all non-prefixed properties and override with prefixed properties
this.clientCredentialsProviderProperties =
- PropertyUtil.propertiesWithPrefix(properties,
CLIENT_CREDENTIAL_PROVIDER_PREFIX);
+ Maps.newHashMap(
Review Comment:
Hmm. There is `credentials.uri` which configures the
[credentialEndpoint](https://github.com/apache/iceberg/blob/main/aws/src/main/java/org/apache/iceberg/aws/s3/VendedCredentialsProvider.java#L67)
and `uri` which configures the
[catalogEndpoint](https://github.com/apache/iceberg/blob/main/aws/src/main/java/org/apache/iceberg/aws/s3/VendedCredentialsProvider.java#L66).
`client.credentials-provider.uri` is still effectively the `catalogEndpoint`
though, since the code takes properties with the prefix
`client.credentials-provider.` and propagates those to
`VendedCredentialsProvider`. So, if I were to configure `uri` for my
`RESTCatalog` I would need to provide `client.credentials-provider.uri` to
configure that same URI for `VendedCredentialsProvider`.
Note that this is _not_ the case when the `VendedCredentialsProvider` is
constructed via
https://github.com/apache/iceberg/blob/main/aws/src/main/java/org/apache/iceberg/aws/AwsClientProperties.java#L211,
because this code path does pass the original properties through that were
configured when initializing the `RESTCatalog`. On that code path I wouldn't
also need to have configured `client.credentials-provider.uri` when I have set
`uri` in the properties (which naturally you would when initializing a
`RESTCatalog`).
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]