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 Mingyuan Liang over 3 years ago
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
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