apache / apache/iceberg

AWS: DefaultAwsClientFactory s3 / s3Async serviceConfiguration are not equivalent

Open
#14,575 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
9.2k
Forks
3.5k
Avg merge
2d 11h
Merged PRs (30d)
132

Description

### Apache Iceberg version

1.10.0 (latest release)

### Query engine

None

### Please describe the bug 🐞

The "service configuration" applied to the S3Client is not applied to the S3AsyncClient in `org.apache.iceberg.aws.AwsClientFactories.DefaultAwsClientFactory`. This was noticed because `s3.path-style-access` does not seem to work for the S3AsyncClient.

The configurable bits from `org.apache.iceberg.aws.s3.S3FileIOProperties#applyServiceConfigurations` includes dualstackEnabled, crossRegionAccessEnabled, pathStyleAccessEnabled, useArnRegionEnabled, and accelerateModeEnabled, all which seem to be applicable for `S3AsyncClientBuilder` (and at least some, applicable to `S3CrtAsyncClientBuilder`, but did not dig deeper into that side of things).

Similar to #13131

### Willingness to contribute

- [x] I can contribute a fix for this bug independently
- [ ] I would be willing to contribute a fix for this bug with guidance from the Iceberg community
- [ ] I cannot contribute a fix for this bug at this time

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.