Project

General

Profile

Actions

Feature #45568

closed

Swift Extract Archive Operation

Added by Martin Zurowietz almost 4 years ago. Updated 7 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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.

Actions #1

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

Actions #2

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.

Actions #3

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?

Actions #4

Updated by Casey Bodley 7 days ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF