Skip to content

Commit 8171c0e

Browse files
Sort upload parts by part number to comply with new SDK V2 constraints. (#1129)
1 parent dca89c6 commit 8171c0e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

priam/src/main/java/com/netflix/priam/aws/S3PartUploader.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@
1919
import com.netflix.priam.backup.BackupRestoreException;
2020
import com.netflix.priam.utils.BoundedExponentialRetryCallable;
2121
import com.netflix.priam.utils.SystemUtils;
22-
import java.util.List;
23-
import java.util.concurrent.atomic.AtomicInteger;
2422
import org.slf4j.Logger;
2523
import org.slf4j.LoggerFactory;
2624
import software.amazon.awssdk.core.exception.SdkException;
2725
import software.amazon.awssdk.core.sync.RequestBody;
2826
import software.amazon.awssdk.services.s3.S3Client;
2927
import software.amazon.awssdk.services.s3.model.*;
3028

29+
import java.util.Comparator;
30+
import java.util.List;
31+
import java.util.concurrent.atomic.AtomicInteger;
32+
3133
public class S3PartUploader extends BoundedExponentialRetryCallable<Void> {
3234
private final S3Client client;
3335
private final DataPart dataPart;
@@ -95,7 +97,8 @@ private Void uploadPart() throws SdkException, BackupRestoreException {
9597
return null;
9698
}
9799

98-
public CompleteMultipartUploadResponse completeUpload() throws BackupRestoreException {
100+
public CompleteMultipartUploadResponse completeUpload() {
101+
partETags.sort(Comparator.comparingInt(CompletedPart::partNumber));
99102
CompletedMultipartUpload completedMultipartUpload = CompletedMultipartUpload.builder()
100103
.parts(partETags)
101104
.build();

0 commit comments

Comments
 (0)