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]
