thswlsqls opened a new issue, #17245:
URL: https://github.com/apache/iceberg/issues/17245

   **Apache Iceberg version**
   
   main @ 5f3d3c560
   
   **Query engine**
   
   None (AWS module, engine-agnostic)
   
   **Please describe the bug**
   
   `AssumeRoleAwsClientFactory.s3()` does not apply the S3 Access Grants plugin 
or the `s3fileio/` user agent prefix, so S3 clients built through the 
assume-role factory ignore `s3.access-grants.enabled` and never set the S3 
FileIO user agent, even when configured.
   
   The sibling `DefaultAwsClientFactory.s3()` 
(aws/src/main/java/org/apache/iceberg/aws/AwsClientFactories.java line 108) 
applies both between the signer and retry configurations:
   
   ```java
   .applyMutation(s3FileIOProperties::applySignerConfiguration)
   .applyMutation(s3FileIOProperties::applyS3AccessGrantsConfigurations)
   .applyMutation(s3FileIOProperties::applyUserAgentConfigurations)
   .applyMutation(s3FileIOProperties::applyRetryConfigurations)
   ```
   
   `AssumeRoleAwsClientFactory.s3()` 
(aws/src/main/java/org/apache/iceberg/aws/AssumeRoleAwsClientFactory.java line 
42) has the signer and retry lines but not the two in the middle.
   
   **Steps to reproduce**
   
   Configure a table with 
`client.factory=org.apache.iceberg.aws.AssumeRoleAwsClientFactory` and 
`s3.access-grants.enabled=true`. The S3 client built by `s3()` has no access 
grants plugin and no user agent prefix. Expected: same S3 configuration as the 
default factory.
   
   **Additional context**
   
   N/A
   
   


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

Reply via email to