Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions aws/src/main/java/org/apache/iceberg/aws/s3/BaseS3File.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.HeadObjectRequest;
import software.amazon.awssdk.services.s3.model.HeadObjectResponse;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.S3Exception;

abstract class BaseS3File {
Expand Down Expand Up @@ -77,6 +78,12 @@ public boolean exists() {

protected HeadObjectResponse getObjectMetadata() throws S3Exception {
if (metadata == null) {
// list object to force strong consistency
client().listObjectsV2(ListObjectsV2Request.builder()
.bucket(uri().bucket())
.prefix(uri().key())
Comment thread
danielcweeks marked this conversation as resolved.
.build());

HeadObjectRequest.Builder requestBuilder = HeadObjectRequest.builder()
.bucket(uri().bucket())
.key(uri().key());
Expand Down