RGW multipart objects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux