Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-26894

S3 multi-part upload fails if server-side encryption is enabled

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Not A Bug
    • Affects Version/s: 10.10
    • Fix Version/s: None
    • Component/s: S3

      Description

      If server-side encryption is enabled, S3 multi-part upload fails with:

      org.nuxeo.ecm.core.api.NuxeoException: java.io.IOException: com.amazonaws.SdkClientException: Unable to complete multi-part upload. Individual part upload failed : x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 010EA3000A3FEECE; S3 Extended Request ID: mtvhE4oIiPOEuh9TMO55bdTLnPJe6Kp+6LfwLQGUjNMbsWdRSBykQlATGB8UmY/q8FSI/a8be80=)
      	at org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore.putBlobs(KeyValueBlobTransientStore.java:435) ~[nuxeo-core-cache-10.10.jar:?]
      	at org.nuxeo.ecm.automation.server.jaxrs.batch.Batch.addFile(Batch.java:185) ~[nuxeo-automation-server-10.10.jar:?]
      	at org.nuxeo.ecm.restapi.server.jaxrs.BatchUploadObject.addBlob(BatchUploadObject.java:321) ~[nuxeo-rest-api-server-10.10-HF01.jar:?]
      	at org.nuxeo.ecm.restapi.server.jaxrs.BatchUploadObject.uploadNoTransaction(BatchUploadObject.java:273) ~[nuxeo-rest-api-server-10.10-HF01.jar:?]
      	at org.nuxeo.ecm.restapi.server.jaxrs.BatchUploadObject.upload(BatchUploadObject.java:181) ~[nuxeo-rest-api-server-10.10-HF01.jar:?]
      	...
      Caused by: java.io.IOException: com.amazonaws.SdkClientException: Unable to complete multi-part upload. Individual part upload failed : x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 010EA3000A3FEECE; S3 Extended Request ID: mtvhE4oIiPOEuh9TMO55bdTLnPJe6Kp+6LfwLQGUjNMbsWdRSBykQlATGB8UmY/q8FSI/a8be80=)
      	at org.nuxeo.ecm.core.storage.sql.S3BinaryManager$S3FileStorage.storeFile(S3BinaryManager.java:578) ~[nuxeo-core-binarymanager-s3-10.10.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.CachingBinaryManager.getBinary(CachingBinaryManager.java:154) ~[nuxeo-core-api-10.10-HF01.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager.getBinary(AbstractBinaryManager.java:97) ~[nuxeo-core-api-10.10-HF01.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.BinaryBlobProvider.writeBlob(BinaryBlobProvider.java:119) ~[nuxeo-core-api-10.10-HF01.jar:?]
      	at org.nuxeo.ecm.blob.AbstractCloudBinaryManager.writeBlob(AbstractCloudBinaryManager.java:147) ~[nuxeo-core-binarymanager-common-10.10.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.S3BinaryManager.writeBlob(S3BinaryManager.java:473) ~[nuxeo-core-binarymanager-s3-10.10.jar:?]
      	at org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore.putBlobs(KeyValueBlobTransientStore.java:433) ~[nuxeo-core-cache-10.10.jar:?]
      	... 124 more
      Caused by: com.amazonaws.SdkClientException: Unable to complete multi-part upload. Individual part upload failed : x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 010EA3000A3FEECE; S3 Extended Request ID: mtvhE4oIiPOEuh9TMO55bdTLnPJe6Kp+6LfwLQGUjNMbsWdRSBykQlATGB8UmY/q8FSI/a8be80=)
      	at com.amazonaws.services.s3.transfer.internal.CompleteMultipartUpload.collectPartETags(CompleteMultipartUpload.java:129) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.transfer.internal.CompleteMultipartUpload.call(CompleteMultipartUpload.java:90) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.transfer.internal.CompleteMultipartUpload.call(CompleteMultipartUpload.java:41) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131]
      	... 1 more
      Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 010EA3000A3FEECE; S3 Extended Request ID: mtvhE4oIiPOEuh9TMO55bdTLnPJe6Kp+6LfwLQGUjNMbsWdRSBykQlATGB8UmY/q8FSI/a8be80=)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1695) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1350) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1101) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:758) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:732) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:714) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:674) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:656) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:520) ~[aws-java-sdk-core-1.11.475.jar:?]
      	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4705) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4652) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.AmazonS3Client.doUploadPart(AmazonS3Client.java:3657) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:3642) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.transfer.internal.UploadPartCallable.call(UploadPartCallable.java:64) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at com.amazonaws.services.s3.transfer.internal.UploadPartCallable.call(UploadPartCallable.java:31) ~[aws-java-sdk-s3-1.11.475.jar:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131]
      	... 1 more
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: