We have a public object storage cluster running Ceph rados gateway lumious
12.2.4, which we plan to update soon.
My question concerns some multipart object that appear to upload
successfully but when retrieving the object the client can only get 4MB.
An example would be
radosgw-admin object stat --bucket=vidstash
--object='fan/BeautifulLife.Supergirl.AceOfBase.elipie.mp4'
{
    "name": "fan/BeautifulLife.Supergirl.AceOfBase.elipie.mp4",
    "size": 30673927,
    "policy": {
        "acl": {
            "acl_user_map": [
                {
                    "user": "vidstash",
                    "acl": 15
                }
            ],
            "acl_group_map": [],
            "grant_map": [
                {
                    "id": "vidstash",
                    "grant": {
                        "type": {
                            "type": 0
                        },
                        "id": "vidstash",
                        "email": "",
                        "permission": {
                            "flags": 15
                        },
                        "name": "vidstash",
                        "group": 0,
                        "url_spec": ""
                    }
                }
            ]
        },
        "owner": {
            "id": "vidstash",
            "display_name": "vidstash"
        }
    },
    "etag": "b8bfe5bfea50250ecea84ee7db398b85",
    "tag": "us-east-1-iad1.85989885.1098349",
    "manifest": {
        "objs": [],
        "obj_size": 30673927,
        "explicit_objs": "false",
        "head_size": 4194304,
        "max_head_size": 4194304,
        "prefix": ".???w?\u007f_",
        "rules": [
            {
                "key": 0,
                "val": {
                    "start_part_num": 0,
                    "start_ofs": 4194304,
                    "part_size": 0,
                    "stripe_max_size": 4194304,
                    "override_prefix": ""
                }
            }
        ],
        "tail_instance": "",
        "tail_placement": {
            "bucket": {
                "name": "vidstash",
                "marker": "us-east-1-iad1.35606604.10460",
                "bucket_id": "us-east-1-iad1.35606604.10460",
                "tenant": "",
                "explicit_placement": {
                    "data_pool": "",
                    "data_extra_pool": "",
                    "index_pool": ""
                }
            },
            "placement_rule": "default-placement"
        }
    },
    "attrs": {
        "user.rgw.content_type": "video/mp4",
        "user.rgw.pg_ver": "\u000d\u0017",
        "user.rgw.source_zone": "",
        "user.rgw.tail_tag": "us-east-1-iad1.85989885.1098349"
    }
}

Two things jump out at me that I think indicate a problem with the object:

1. In the manifest section, I find:
"prefix": ".???w?\u007f_"
Which seems to be a bunch of characters and then the unicode character
DELETE (u007f) at then end.
instead of
"prefix":
"fan/BeautifulLife.Supergirl.AceOfBase.elipie.mp4.2~tvzPU7oBwFS5AiH_1ytDcbxUvBy-92A",
for a good object.

2. Also in the manifest section, most often I find that multipart objects
have more than one element in the rules array but that not always
indicative of a bad object.
        "rules": [
            {
                "key": 0,
                "val": {
                    "start_part_num": 0,
                    "start_ofs": 4194304,
                    "part_size": 0,
                    "stripe_max_size": 4194304,
                    "override_prefix": ""
                }
            }
        ],
instead of
        "rules": [
            {
                "key": 0,
                "val": {
                    "start_part_num": 1,
                    "start_ofs": 0,
                    "part_size": 15728640,
                    "stripe_max_size": 4194304,
                    "override_prefix": ""
                }
            },
            {
                "key": 15728640,
                "val": {
                    "start_part_num": 2,
                    "start_ofs": 15728640,
                    "part_size": 14945287,
                    "stripe_max_size": 4194304,
                    "override_prefix": ""
                }
            }
        ],

The only way I have found to fix a bad object is to re-upload the object.
Does anyone have any idea what might be going on when these bad object
appear to be available but in reality they are not completely there?
And/or is there a better way to identify incomplete objects?
Finally, is there another way to fix these objects, besides uploading them
again?

Thanks!!
Niels
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to