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

Fix S3 Direct Upload for big files

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 10.10-HF29
    • Fix Version/s: 10.10-HF30, 11.2, 2021.0
    • Component/s: S3
    • Release Notes Summary:
      The multipart copy in S3 is correctly handled for files up to 5GB
    • Tags:
    • Backlog priority:
      1,000

      Description

      Since NXP-29292, S3DirectBatchHandler uses AWS TransferManager

      However the new code deletes the "hack" to handle Multipart upload where the object must be rename to have a key which equals the ETag. Otherwise it produces this exception when trying to create a Nuxeo document which has a reference on the S3 object

      Caused by: java.io.IOException: Invalid S3 object digest, expected=4abbd17776541a3151422dc2c8136e58-3 actual=3b4a1541bd9242c00cfb212d524619e7
      	at org.nuxeo.ecm.core.storage.sql.S3BinaryManager$S3FileStorage.fetchFile(S3BinaryManager.java:677) ~[nuxeo-core-binarymanager-s3-10.10-HF29.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.CachingBinaryManager.getFile(CachingBinaryManager.java:182) ~[nuxeo-core-api-10.10-HF29.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.LazyBinary.getFile(LazyBinary.java:67) ~[nuxeo-core-api-10.10-HF29.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.LazyBinary.getStream(LazyBinary.java:60) ~[nuxeo-core-api-10.10-HF29.jar:?]
      	at org.nuxeo.ecm.core.blob.binary.BinaryBlob.getStream(BinaryBlob.java:65) ~[nuxeo-core-api-10.10-HF29.jar:?]
      	at org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService.getMimetypeFromBlob(MimetypeRegistryService.java:305) ~[nuxeo-core-mimetype-10.10.jar:?]
      	at org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService.getMimetypeFromBlobWithDefault(MimetypeRegistryService.java:334) ~[nuxeo-core-mimetype-10.10.jar:?]
      	at org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService.getMimetypeFromFilenameWithBlobMimetypeFallback(MimetypeRegistryService.java:366) ~[nuxeo-core-mimetype-10.10.jar:?]
      	at org.nuxeo.ecm.platform.mimetype.service.MimetypeRegistryService.updateMimetype(MimetypeRegistryService.java:380) ~[nuxeo-core-mimetype-10.10.jar:?]
      	at org.nuxeo.ecm.platform.filemanager.service.FileManagerService.checkMimeType(FileManagerService.java:151) ~[nuxeo-platform-filemanager-core-10.10.jar:?]
      	at org.nuxeo.ecm.platform.filemanager.service.FileManagerService.createOrUpdateDocument(FileManagerService.java:266) ~[nuxeo-platform-filemanager-core-10.10.jar:?]
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 4 hours
                  4h