Re: rgw bucket deletion woes

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

 



To update this thread, this is now fixed via https://github.com/ceph/ceph/pull/8679

Thanks!

From: Ben Hines <bhines@xxxxxxxxx<mailto:bhines@xxxxxxxxx>>
Date: Thursday, March 17, 2016 at 4:47 AM
To: Yehuda Sadeh-Weinraub <yehuda@xxxxxxxxxx<mailto:yehuda@xxxxxxxxxx>>
Cc: Pavan Rallabhandi <PRallabhandi@xxxxxxxxxxxxxxx<mailto:PRallabhandi@xxxxxxxxxxxxxxx>>, "ceph-users@xxxxxxxx<mailto:ceph-users@xxxxxxxx>" <ceph-users@xxxxxxxx<mailto:ceph-users@xxxxxxxx>>
Subject: Re:  rgw bucket deletion woes

We would be a big user of this. We delete large buckets often and it takes forever.

Though didn't I read that 'object expiration' support is on the near-term RGW roadmap? That may do what we want.. we're creating thousands of objects a day, and thousands of objects a day will be expiring, so RGW will need to handle.


-Ben

On Wed, Mar 16, 2016 at 9:40 AM, Yehuda Sadeh-Weinraub <yehuda@xxxxxxxxxx<mailto:yehuda@xxxxxxxxxx>> wrote:
On Tue, Mar 15, 2016 at 11:36 PM, Pavan Rallabhandi
<PRallabhandi@xxxxxxxxxxxxxxx<mailto:PRallabhandi@xxxxxxxxxxxxxxx>> wrote:
> Hi,
>
> I find this to be discussed here before, but couldn¹t find any solution
> hence the mail. In RGW, for a bucket holding objects in the range of ~
> millions, one can find it to take for ever to delete the bucket(via
> radosgw-admin). I understand the gc(and its parameters) that would reclaim
> the space eventually, but am looking more at the bucket deletion options
> that can possibly speed up the operation.
>
> I realize, currently rgw_remove_bucket(), does it 1000 objects at a time,
> serially. Wanted to know if there is a reason(that am possibly missing and
> discussed) for this to be left that way, otherwise I was considering a
> patch to make it happen better.
>

There is no real reason. You might want to have a version of that
command that doesn't schedule the removal to gc, but rather removes
all the object parts by itself. Otherwise, you're just going to flood
the gc. You'll need to iterate through all the objects, and for each
object you'll need to remove all of it's rados objects (starting with
the tail, then the head). Removal of each rados object can be done
asynchronously, but you'll need to throttle the operations, not send
everything to the osds at once (which will be impossible, as the
objecter will throttle the requests anyway, which will lead to a high
memory consumption).

Thanks,
Yehuda
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx<mailto:ceph-users@xxxxxxxxxxxxxx>
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
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