Currently rgw logs objects it wants to delete after some period of time, and an radosgw-admin command comes back later to process the log. It works, but is currently slow (one sync op at a time). A better approach would be to mark objects for later removal, and have the OSD do it in some more efficient way. wip-objs-expire has a client side (librados) interface for this. I think there are a couple questions: Should this be generalized to saying "do these osd ops at time X" instead of "delete at time X". Then it could setxattr, remove, call into a class, whatever. How would the OSD implement this? A kludgey way would be to do it during scrub. The current scrub implementation may make that problematic because it does a whole PG at time, and we probably don't want to issue a whole PG's worth of deletes at a time. Is there a way to make that less painful? Not using scrub means we need some sort of index to keep track of objects with delayed events. Using a collection for this might work, but loading all this state into memory would be slow if there were too many events registered. Given all that, and that we need a solution to the expiration soon (weeks), do we - do a complete solution now, - parallelize radosgw-admin log processing, - or hack it into scrub? sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html