jarosmpost commented on code in PR #17789:
URL: https://github.com/apache/iceberg/pull/17789#discussion_r3934628820
##########
aws/src/main/java/org/apache/iceberg/aws/lakeformation/LakeFormationAwsClientFactory.java:
##########
@@ -144,26 +161,40 @@ private LakeFormationClient lakeFormation() {
static class LakeFormationCredentialsProvider implements
AwsCredentialsProvider {
private final LakeFormationClient client;
private final String tableArn;
+ private final long refreshLeadTimeMs;
+ private final CachedSupplier<AwsCredentials> cache;
- LakeFormationCredentialsProvider(LakeFormationClient lakeFormationClient,
String tableArn) {
+ LakeFormationCredentialsProvider(
Review Comment:
Reworked the credential flow around the AWS SDK `CachedSupplier`, following
the
`VendedCredentialsProvider` refresh pattern. The provider performs the Lake
Formation fetch and
creates `RefreshResult` from the returned expiry; a JVM-wide registry
owns/reuses these cached
providers across factory instances. Added tests for shared providers,
context isolation, concurrent
access, and the direct non-cached provider.
--
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]