S3 uses a different ETag for multipart uploads (MPUs) than regular
objects. The ETag consists of the md5 hash of the concatenated ETags of
individual parts followed by the number of parts (separated by "-").

The patch changes the LocalBlobStore's implementation of
CompleteMultipartUpload to set the S3-style ETag before calling
putBlob() and return that ETag to the caller.

To simplify testing, a new protected method with a default NOOP
implementation is added to the BaseBlobIntegrationTest. It allows
providers to further verify MPUs (i.e. ensuring the correct ETag has
been stored alongside the object).
You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds/pull/1251

-- Commit Summary --

  * JCLOUDS-1450: Use S3-style ETags for MPUs.

-- File Changes --

    M 
apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java
 (50)
    M 
apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemBlobIntegrationTest.java
 (19)
    M blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java 
(16)
    M blobstore/src/main/java/org/jclouds/blobstore/domain/BlobBuilder.java (8)
    M 
blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobBuilderImpl.java
 (14)
    M 
blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
 (5)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/1251.patch
https://github.com/jclouds/jclouds/pull/1251.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1251

Reply via email to