Project

General

Profile

Actions

Bug #57588

closed

rgw: async refcount operate in copy_obj

Added by Arvin Liang over 1 year ago. Updated over 1 year ago.

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

100%

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

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 1 year ago

  • Pull request ID set to 48155
Actions #3

Updated by Casey Bodley over 1 year 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)
  • Tags set to copyobj
  • Regression set to No
  • Severity set to 3 - minor
Actions

Also available in: Atom PDF