nastra commented on code in PR #12799:
URL: https://github.com/apache/iceberg/pull/12799#discussion_r2047154559


##########
aws/src/main/java/org/apache/iceberg/aws/s3/S3FileIO.java:
##########
@@ -98,14 +100,12 @@ public class S3FileIO
   private String credential = null;
   private SerializableSupplier<S3Client> s3;
   private SerializableSupplier<S3AsyncClient> s3Async;
-  private S3FileIOProperties s3FileIOProperties;
   private SerializableMap<String, String> properties = null;
-  private transient volatile S3Client client;
-  private transient volatile S3AsyncClient asyncClient;
   private MetricsContext metrics = MetricsContext.nullMetrics();
   private final AtomicBoolean isResourceClosed = new AtomicBoolean(false);
   private transient StackTraceElement[] createStack;
   private List<StorageCredential> storageCredentials = ImmutableList.of();
+  private transient volatile Cache<String, PrefixedS3Client> s3ClientCache;

Review Comment:
   I'm not really familiar with `ExecutionInterceptor` so I'll have to do some 
digging on how a potential solution would look with this. @singhpk234 is there 
an easy way to pass the storage credentials (that we currently pass to 
`FileIO`) to a given `ExecutionInterceptor`?
   
   But generally speaking, we're only expecting a handful of different storage 
credentials in practice, so the cost of maintaining < 5 different client 
instances should be quite low.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to