Hello, the following code snippet from rgw_rados.cc shows the problem.
RGWRados::create_bucket(...) { ... ... ret = put_linked_bucket_info(info, exclusive, ceph::real_time(), pep_objv, &attrs, true); if (ret == -EEXIST) { ... //* if the bucket has exist, the new bucket instance will be deleted here.* ... } } RGWCreateBucket::execute() { ... op_ret = store->get_bucket_info(obj_ctx, s->bucket_tenant, s->bucket_name, s->bucket_info, NULL, &s->bucket_attrs); //*we can know if the bucket exists. I think that the RGW should not continue to call the function "create_bucket" and return directly if the bucket exists.* ... ... op_ret = store->create_bucket(... ... } Thanks! 2016-05-18 16:32 GMT+08:00 Saverio Proto <ziopr...@gmail.com>: > Hello, > > I am not sure I understood the problem. > Can you post the example steps to reproduce the problem ? > > Also what version of Ceph RGW are you running ? > > Saverio > > > 2016-05-18 10:24 GMT+02:00 fangchen sun <sunspot0...@gmail.com>: > > Dear ALL, > > > > I found a problem that the RGW create a new bucket instance and delete > > the bucket instance at every create bucket OP with same name > > > > http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html > > > > According to the error code "BucketAlreadyOwnedByYou" from the above > > link, shouldn't the RGW return directly or do nothing when recreate > > the bucket? > > Why do the RGW create a new bucket instance and then delete it? > > > > Thanks for the reply! > > sunfch > > _______________________________________________ > > ceph-users mailing list > > ceph-users@lists.ceph.com > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com >
_______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com