Feature #45568
closedSwift Extract Archive Operation
0%
Description
I would like to propose the implementation of the Swift exctract archive bulk operation (https://docs.openstack.org/swift/latest/middleware.html#module-swift.common.middleware.bulk) in rgw. This feature is extremely useful if many small files need to be uploaded quickly.
I wasn't sure if this feature already existed in rgw. The documentation doesn't mention it https://docs.ceph.com/docs/master/radosgw/swift/ and a test request to a local instance wasn't successful. However, I found some issues that refer to a "bulk upload": https://tracker.ceph.com/issues/19645 and https://tracker.ceph.com/issues/8945. I asked for clarification in the ceph-users mailing list but got no answer.
Updated by Matt Benjamin almost 4 years ago
Hi Martin,
I'm not sure why it's not documented, but I believe the bulk-upload/extract-archive Swift op is implemented, the implementation is rgw_rest_swift.{h,cc}:
RGWOp *RGWHandler_REST_Service_SWIFT::op_put()
{
if (s->info.args.exists("extract-archive")) {
return new RGWBulkUploadOp_ObjStore_SWIFT;
}
return nullptr;
}
...
std::unique_ptr<RGWBulkUploadOp::StreamGetter>
RGWBulkUploadOp_ObjStore_SWIFT::create_stream()
{
class SwiftStreamGetter : public StreamGetter {
const DoutPrefixProvider* dpp;
const size_t conlen;
...
If you has issues using it, please file a tracker issue. Feel free to submit documentation improvements!
regards,
Matt
Updated by Martin Zurowietz almost 4 years ago
Thanks for the clarification, Matt! I will look into this and follow up with a support issue and/or documentation improvement.
Updated by Martin Zurowietz over 2 years ago
I've experimented a bit more and inspected the output of the /info
API endpoint of my local OpenStack instance . It does mention bulk_delete
(but returns an empty object there) but it does not mention bulk_upload
. Is there maybe a special configuration option in rgw to enable or disable bulk operaitions with Swift?