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

   ## Which Iceberg project does this PR belong to?
   
   AWS
   
   ## What changes are proposed in this pull request?
   
   Fixes #17536.
   
   `AwsClientProperties#credentialsProvider` unconditionally puts 
`refreshCredentialsEndpoint` into `clientCredentialsProviderProperties` once a 
custom `clientCredentialsProvider` class is configured, even when 
`refreshCredentialsEndpoint` is null (no `client.credentials-endpoint` and no 
catalog URI to derive one from). A custom provider that re-derives its own 
`AwsClientProperties` from that map — as in the reported stack trace — hits an 
NPE from `PropertyUtil.filterProperties`, since its `Collectors.toMap` rejects 
null values.
   
   The `VendedCredentialsProvider` fallback branch a few lines below already 
guards the same `put` with 
`!Strings.isNullOrEmpty(refreshCredentialsEndpoint)`; this applies the same 
guard to the custom-provider branch.
   
   Added `customCredentialsProviderWithoutRefreshEndpointDoesNotPassNullUri`, 
which configures only `CLIENT_CREDENTIALS_PROVIDER` (no refresh endpoint, no 
catalog URI) and asserts the properties map handed to the custom provider never 
contains a null value — reproducing the reported failure mode without depending 
on a specific third-party provider implementation.


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