[ceph-users] Unexpected multipart upload failure

Pierre-Louis Garnier pierre-louis.garnier at qarnot-computing.com
Fri Nov 3 03:33:00 PDT 2017


Hi,

RGW is returning a 404 when I try to duplicate a file in a bucket.
Here is my client version information: Boto3/1.4.4 Python/3.5.2
Linux/4.4.0-97-generic Botocore/1.5.95
$ radosgw --version
ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)

This only happens on my real clusters: not on a VM cluster, or the
test cluster started with src/vstart.sh.
Even though my VMs have the exact same stack, or with the ceph repo
checked-out at 3e7492.

Here is a truncated log of the requests and responses:

> POST /bucket/files/dst?uploads
> ...
< HTTP/1.1 200 OK
< ...
< <UploadId>2~oW7Tk67hMZJjkZJVhKLKUQpM-Y_kyV1</UploadId>
< ...

> PUT /bucket/files/dst?partNumber=1&uploadId=2~oW7Tk67hMZJjkZJVhKLKUQpM-Y_kyV1
> ...
> x-amz-copy-source-range: bytes=0-8388607
> x-amz-copy-source: bucket/files/src
> ...
< HTTP/1.1 404 Not Found
< ...
< <Error>
< <Code>NoSuchKey</Code>
< ...
< </Error>

I added logging to find where the ENOENT happens (most recent call first):
rados_ioctx_create
Rados::ioctx_create
rgw_init_ioctx
RGWRados::open_pool_ctx
RGWRados::get_raw_obj_ref
RGWRados::raw_obj_stat
RGWRados::get_system_obj_state_impl
RGWRados::get_system_obj_state
RGWRados::stat_system_obj
RGWRados::SystemObject::Read::stat
rgw_get_system_obj
RGWRados::get_bucket_entrypoint_info
RGWRados::get_bucket_info
RGWPutObj_ObjStore_S3::get_params

Could you give me pointers for finding the cause of this?

Thanks,
Pierre-Louis


More information about the ceph-users mailing list