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]

Reply via email to