Bug #57588
closedrgw: async refcount operate in copy_obj
100%
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.
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