浏览代码

HADOOP-14204 S3A multipart commit failing,
"UnsupportedOperationException at java.util.Collections$UnmodifiableList.sort".

Contributed by Steve Loughran

(cherry picked from commit 595501c9ddacd5fdb740ac1bf9bfeb0ffbbd6c0e)

Steve Loughran 8 年之前
父节点
当前提交
b4481fef41
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java

+ 3 - 1
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java

@@ -2400,11 +2400,13 @@ public class S3AFileSystem extends FileSystem {
           "No partitions have been uploaded");
           "No partitions have been uploaded");
       LOG.debug("Completing multipart upload {} with {} parts",
       LOG.debug("Completing multipart upload {} with {} parts",
           uploadId, partETags.size());
           uploadId, partETags.size());
+      // a copy of the list is required, so that the AWS SDK doesn't
+      // attempt to sort an unmodifiable list.
       return s3.completeMultipartUpload(
       return s3.completeMultipartUpload(
           new CompleteMultipartUploadRequest(bucket,
           new CompleteMultipartUploadRequest(bucket,
               key,
               key,
               uploadId,
               uploadId,
-              partETags));
+              new ArrayList<>(partETags)));
     }
     }
 
 
     /**
     /**