Actions
Bug #48289
closedprefetch in rgw_file is done 3 times per read
% Done:
0%
Source:
Tags:
librgw
Backport:
octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Each call to rgw_read (rgw_file.cc) invokes three calls to RGWRados::get_obj_state with RGWObjState::prefetch_data = true. It results in great read amplification. If length argument in rgw_read call is smaller than rgw_max_chunk_size, then the amplification is threefold.
It can be seen in logs when a file is downloaded via NFS-Ganesha
2020-11-13 10:34:43.411 7f01d81f8700 20 get_obj_state: rctx=0x7f01d81f4470 obj=test:A state=0x7f01a93d7208 s->prefetch_data=1
2020-11-13 10:34:43.415 7f01d71f0700 20 get_obj_state: rctx=0x7f01d71ec470 obj=test:A state=0x7f01c8997208 s->prefetch_data=1
2020-11-13 10:34:43.419 7f01d81f8700 20 get_obj_state: rctx=0x7f01d81f4470 obj=test:A state=0x7f01a93d7208 s->prefetch_data=1
Updated by Casey Bodley over 3 years ago
- Assignee set to Matt Benjamin
- Tags set to librgw
Updated by Matt Benjamin over 3 years ago
- Status changed from New to Fix Under Review
Updated by Casey Bodley over 2 years ago
- Status changed from Fix Under Review to Pending Backport
- Backport changed from octopus, nautilus to octopus
missed the backport of this one
Updated by Backport Bot over 2 years ago
- Copied to Backport #53133: octopus: prefetch in rgw_file is done 3 times per read added
Updated by Loïc Dachary over 2 years ago
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".
Actions