Project

General

Profile

Actions

Bug #62646

closed

RGW Swift info not providing max_deletes_per_request in bulk_delete section

Added by Christian Rohmann 9 months ago. Updated 6 months ago.

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

0%

Source:
Tags:
swift low-hanging-fruit
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

RGW implements the info endpoint for the Swift protocol - this was added with https://github.com/ceph/ceph/commit/277079da3c57f61221254f266b698ab3962ef87c

Currently the Ceph RADOSGW presents a key bulk_delete with no subkeys or values:

{
  "bulk_delete": {},
  "container_quotas": {},
  "swift": {
    "max_file_size": 5368709120,
    "container_listing_limit": 10000,
    "version": "17.2.6",
    "policies": [
      {
        "default": true,
        "name": "default-placement" 
      }
    ],
    "max_object_name_size": 1024,
    "strict_cors_mode": true,
    "max_container_name_length": 255
  },
  "tempurl": {
    "methods": [
      "GET",
      "HEAD",
      "PUT",
      "POST",
      "DELETE" 
    ]
  },
  "slo": {
    "max_manifest_segments": 1000
  },
  "account_quotas": {},
  "staticweb": {},
  "tempauth": {
    "account_acls": true
  }
}

If you compare this to what OpenStack Swift implements at https://github.com/openstack/swift/blame/191b627b856bc2e8eaa4049521e3476bf29ed40c/swift/common/middleware/bulk.py#L773 or documents at https://github.com/openstack/python-swiftclient/blob/54fbfa8bc9c10feb48fbce843d6ba6fcf6533ece/doc/source/service-api.rst#capabilities (at least) the keys max_deletes_per_request and max_failed_deletes are missing.

While Swift clients might(!) enable bulk_delete operations they are unable to determine how many deletes can actually be issued and have to fall back to some default, sane or not.

Presenting these limits correctly to Swift clients should be rather easy but potentially speed up bulk_deletes.

Actions

Also available in: Atom PDF