waterWang opened a new pull request, #17549:
URL: https://github.com/apache/iceberg/pull/17549

   ## What this PR does
   
   Fixes S3 service configurations (pathStyleAccess, dualStack, 
crossRegionAccess, useArnRegion, accelerateMode, chunkedEncoding) not being 
applied to the non-CRT async S3 client.
   
   ## Root cause
   
   `DefaultAwsClientFactory.s3Async()` used `S3AsyncClient.builder()` but never 
called `applyServiceConfigurations` on it. The sync `s3()` method did apply 
these settings, but the async path was missing the call.
   
   ## Changes
   
   1. **S3FileIOProperties.java**: Changed `applyServiceConfigurations` generic 
bound from `<T extends S3ClientBuilder>` to `<T extends S3BaseClientBuilder>` — 
`S3BaseClientBuilder` is the common base for both `S3ClientBuilder` (sync) and 
`S3AsyncClientBuilder` (async), and defines all the methods used 
(`dualstackEnabled`, `crossRegionAccessEnabled`, `serviceConfiguration`).
   
   2. **AwsClientFactories.java**: Added 
`.applyMutation(s3FileIOProperties::applyServiceConfigurations)` to the non-CRT 
`S3AsyncClient.builder()` chain.
   
   ## Verification
   
   - `applyServiceConfigurations` accepts `S3BaseClientBuilder` which both sync 
and async builders extend
   - The existing sync `s3()` method continues to call 
`applyServiceConfigurations` unchanged
   - The CRT async path (`S3CrtAsyncClientBuilder`) is unaffected — it uses a 
separate builder hierarchy
   
   Closes #14575
   


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