Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-250

Swift: Uploading a blob whose name starts with the name of a multipart blob changes the multipart blob's contents

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • jclouds-blobstore

    Description

      If you upload a multipart blob named "foo" and then upload a non-multipart blob named "foo.bar" to the same container then when you get the contents of "foo" they will include the contents of "foo.bar".

      This happens because CommonSwiftAsyncClient uses the blob's name as the value for the X-Object-Manifest header, and swift includes all blobs whose names start with this value when responding to a GET on the multipart blob.

      http://docs.openstack.org/trunk/openstack-object-storage/admin/content/direct-api-management-of-large-objects.html and http://www.rackspace.com/blog/rackspace-cloud-files-now-supporting-extremely-large-file-sizes/ append a / to the end of the X-Object-Manifest header which avoids this issue in the common case (it can still happen if a blob with / in the name is uploaded, but this is likely to be uncommon because / does not commonly appear in filenames as it is the UNIX path separator character).

      Attachments

        Activity

          People

            Unassigned Unassigned
            frankoid Francis Devereux
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: