rgw: allow system users to read SLO parts#13561
Conversation
|
@cbodley @rzarzynski should we be sync the virtual object or the manifest itself? If the latter, we shouldn't iterate over the parts |
|
@yehudasa: good point. If someone needs to go with an SLO, then the virtual object is most likely to large to handle it in the usual way. I think we should sync manifests separately. I'm not sure whether we offer support for Swift's |
|
in testing the sync, it looks like the GET request to fetch the base object is reading all of its data, and also its slo manifest attribute. after sync, when reading that object on the secondary zone, it's seeing that slo attribute and reading data from its parts instead. so we may want to add a special header to the GET request to avoid fetching data from the parts during sync |
|
@rzarzynski thanks for pointing out i've updated the pr so that still needs testing, but pushed for early feedback |
|
updated after further testing. the to test, i uploaded a big file to the master zone: after sync, a stat on the rados object on the secondary zone shows size=0: |
|
passed teuthology tests: http://pulpito.ceph.com/cbodley-2017-03-17_11:36:22-rgw-wip-cbodley-testing---basic-mira/ (will rebase) |
multisite data sync relies on fetching the object as the system user Fixes: http://tracker.ceph.com/issues/19027 Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
@yehudasa can you please review? the initial commit |
src/rgw/rgw_rados.cc
Outdated
| dest_mtime_weight.zone_short_id, dest_mtime_weight.pg_ver, | ||
| true /* prepend_meta */, true /* GET */, true /* rgwx-stat */, | ||
| &cb, &in_stream_req); | ||
| false /* sync manifest */, &cb, &in_stream_req); |
There was a problem hiding this comment.
hmm, i was thinking that stat requests wouldn't make it that far in RGWGetObj::execute(). but it looks like the if (get_type() == RGW_OP_STAT_OBJ) check comes after the manifest handling, which probably isn't what we want
i'll change this flag to true, and propose a change to RGW_OP_STAT_OBJ handling in a separate pr
Fixes: http://tracker.ceph.com/issues/19027 Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
updated, and proposed a change to |
|
@cbodley lgtm |
multisite data sync relies on fetching the object as the system user
Fixes: http://tracker.ceph.com/issues/19027