On Wed, Aug 20, 2014 at 6:47 AM, Sylvain Munaut
<[email protected]> wrote:
> Hi,
>
>
>> What does 'radosgw-admin object stat --bucket=<bucket> --object=<object>'
>> show?
>
> { "name":
> "5ae1b8cb8a2bdc3c2d7e1868b60d76abea2536f4604d6d312df95b719470fb3b\/render-image",
> "size": 239879,
> "policy": { "acl": { "acl_user_map": [
> { "user": "kp",
> "acl": 15}],
> "acl_group_map": [],
> "grant_map": [
> { "id": "kp",
> "grant": { "type": { "type": 0},
> "id": "kp",
> "email": "",
> "permission": { "flags": 15},
> "name": "KP S3 User",
> "group": 0}}]},
> "owner": { "id": "kp",
> "display_name": "KP S3 User"}},
> "etag": "bfe2df862d92f70cecbedbab324e3f78-1",
> "tag": "default.440489.1590546",
> "manifest": { "objs": [
> 0,
> { "loc": { "bucket": { "name": "kp-render-image.bouygues",
> "pool": ".rgw.kp-render-image",
> "data_extra_pool": "",
> "index_pool": ".rgw.kp-render-image",
> "marker": "default.440489.58258",
> "bucket_id": "default.440489.58258"},
> "key": "",
> "ns": "multipart",
> "object":
> "_multipart_5ae1b8cb8a2bdc3c2d7e1868b60d76abea2536f4604d6d312df95b719470fb3b\/render-image.8rSDD8MVD1KIXDTQDsf3g6b71dqADP_.1"},
> "loc_ofs": 0,
> "size": 239879}],
> "obj_size": 239879,
> "explicit_objs": "true",
> "head_obj": { "bucket": { "name": "",
> "pool": "",
> "data_extra_pool": "",
> "index_pool": "",
> "marker": "",
> "bucket_id": ""},
> "key": "",
> "ns": "",
> "object": ""},
> "head_size": 0,
> "max_head_size": 0,
> "prefix": "",
> "tail_bucket": { "name": "",
> "pool": "",
> "data_extra_pool": "",
> "index_pool": "",
> "marker": "",
> "bucket_id": ""},
> "rules": []},
> "attrs": { "user.rgw.content_type": "image\/png"}}
>
>
>> Also, can you bump logging up? debug rgw = 20, debug ms = 1
>
> I'll try, but being on the production cluster, it's constantly
> hammered with requests :p
>
>
The object has a zero sized head, which is ok, but I think it triggers
an issue. Can you try this:
diff --git a/src/rgw/rgw_dencoder.cc b/src/rgw/rgw_dencoder.cc
index e6dc2ba..fd12c4f 100644
--- a/src/rgw/rgw_dencoder.cc
+++ b/src/rgw/rgw_dencoder.cc
@@ -104,7 +104,7 @@ void RGWObjManifest::obj_iterator::update_location()
const rgw_obj& head = manifest->get_head();
- if (ofs < manifest->get_head_size()) {
+ if (ofs <= manifest->get_head_size()) {
location = head;
return;
}
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc
index 7ca4a9d..877c130 100644
--- a/src/rgw/rgw_rados.cc
+++ b/src/rgw/rgw_rados.cc
@@ -558,7 +558,7 @@ void RGWObjManifest::obj_iterator::operator++()
}
/* are we still pointing at the head? */
- if (ofs < head_size) {
+ if (ofs <= head_size) {
rule_iter = manifest->rules.begin();
RGWObjManifestRule *rule = &rule_iter->second;
ofs = MIN(head_size, obj_size);
Thanks,
Yehuda
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html