Bug 1423858 - Manifest file of a static large object does not sync in multisite env
Summary: Manifest file of a static large object does not sync in multisite env
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RGW
Version: 2.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 2.3
Assignee: Casey Bodley
QA Contact: shilpa
Erin Donnelly
Depends On:
Blocks: 1412948 1437916
TreeView+ depends on / blocked
Reported: 2017-02-17 15:01 UTC by shilpa
Modified: 2017-07-30 16:04 UTC (History)
11 users (show)

Fixed In Version: RHEL: ceph-10.2.7-11.el7cp Ubuntu: ceph_10.2.7-12redhat1xenial
Doc Type: Bug Fix
Doc Text:
.Swift SLOs can now be read from any other zones Previously, the Ceph Object Gateway failed to fetch manifest files of Swift Static Large Objects (SLO). As a consequence, an attempt to read those objects from any other zone than the zone where the object was originally uploaded failed. This bug has been fixed, and the objects are read from all zones as expected.
Clone Of:
Last Closed: 2017-06-19 13:29:32 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Ceph Project Bug Tracker 19027 None None None 2017-02-21 16:38:32 UTC
Red Hat Product Errata RHBA-2017:1497 normal SHIPPED_LIVE Red Hat Ceph Storage 2.3 bug fix and enhancement update 2017-06-19 17:24:11 UTC

Description shilpa 2017-02-17 15:01:11 UTC
Description of problem:
Manifest while that contains information of swift large object segments does not sync. 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1 Configure multisite with three zones in different clusters.
2. Segment a large object and upload the segments to a container using the following command on one of the zones.
# curl -v -X PUT -H "X-Auth-Token: AUTH_rgwtk0a000000757365723a73776966740b720d95a8ec973269a1a2585263181296489905c5add9565c4b6ff038cbd6f2dedfeb0a" -T segaa http://rgw:8080/swift/v1/current/segaa

3. Upload a manifest file.
 curl -v -X PUT -H "X-Auth-Token: AUTH_rgwtk0a000000757365723a73776966740b720d95a8ec973269a1a2585263181296489905c5add9565c4b6ff038cbd6f2dedfeb0a" "http://rgw:8080/swift/v1/current/random?multipart-manifest=put" -T manifest.json

# cat manifest 
 { "path": "new/segaa",
   "etag": "b5569ee4b2bd227f202ccf3daf036b60",
   "size_bytes": 2097152
 { "path": "new/segab",
   "etag": "9df301504ca3437f5244d781d33e7574",
   "size_bytes": 2097152
 { "path": "new/segac",
   "etag": "87b6f0f47900d129d93b049caee7f724",
   "size_bytes": 2097152
 { "path": "new/sagad",
   "etag": "1035d04ee5f8d231ec64739d41587233",
   "size_bytes": 2097152

4. # swift -A http://rgw:8080/auth/1.0 -U user:swift -K 'uYh9A94G2xF6CHZujkcAYpjK4NAJJR25LwlBfWxc' list current

5. Check if the large object 'random' has synced to all zones

Actual results:
The file 'random' which is the manifest file does not sync to the other zones. Only the segments sync. Hence there is no way to retrieve the full object from a different zone.

Comment 2 Harish NV Rao 2017-02-21 14:30:50 UTC
@Uday, I am re-targeting this to 2.2 for now. Could you please let us know your decision on this BZ?

Comment 12 Ken Dreyer (Red Hat) 2017-04-06 23:08:21 UTC
The jewel backport was not completed upstream (http://tracker.ceph.com/issues/19474) so I take it we need patches downstream here?

Comment 13 Casey Bodley 2017-04-24 15:30:26 UTC
Thanks Ken, I did the manual backport for Jewel at https://github.com/ceph/ceph/pull/14752, and cherry-picked the commits to ceph-2-rhel-patches.

Comment 24 shilpa 2017-05-16 06:58:48 UTC
Tested again on a new system. Works fine. Moving to verified

Comment 28 errata-xmlrpc 2017-06-19 13:29:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.