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