Project

General

Profile

Actions

Bug #57588

closed

rgw: async refcount operate in copy_obj

Added by Mingyuan Liang over 3 years ago. Updated 8 months ago.

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

100%

Source:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Tags (freeform):
Fixed In:
v18.0.0-233-ge4a967fec8f
Released In:
v18.2.0~1245
Upkeep Timestamp:
2025-07-13T00:40:34+00:00

Description

When copy-object objects are called between buckets, the head object is copied in full, other objects only use refcount++ operation. Refcount does not require copying data, but it is processed serially in RGW. It is still time-consuming to go through all rados objects' refcount contained in an RGW object.
The refcount operation itself uses an RPC-like method to construct a request on the RGW side and send the request to the OSD side. After processing the request, the OSD process returns the result. Osd has a special thread pool to process requests, meanwhile different fragments may be sent to multiple OSD nodes for processing. Therefore, if the RGW can send multiple requests at the same time, the processing speed will be greatly improved. So I changed the refcount operation in copy_obj to async mode.

Actions #2

Updated by Matt Benjamin over 3 years ago

  • Pull request ID set to 48155
Actions #3

Updated by Casey Bodley over 3 years ago

  • Tracker changed from Support to Bug
  • Project changed from RADOS to rgw
  • Status changed from New to Resolved
  • Target version deleted (v17.2.4)
  • Regression set to No
  • Severity set to 3 - minor
Actions #4

Updated by Upkeep Bot 8 months ago

  • Merge Commit set to e4a967fec8fbef301ede9d6499aca5ac1c885d57
  • Fixed In set to v18.0.0-233-ge4a967fec8f
  • Released In set to v18.2.0~1245
  • Upkeep Timestamp set to 2025-07-13T00:40:34+00:00
Actions

Also available in: Atom PDF