Project

General

Profile

Actions

Bug #48289

closed

prefetch in rgw_file is done 3 times per read

Added by Kajetan Janiak over 3 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% 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

Related issues 1 (0 open1 closed)

Copied to rgw - Backport #53133: octopus: prefetch in rgw_file is done 3 times per readResolvedCory SnyderActions
Actions #1

Updated by Casey Bodley over 3 years ago

  • Assignee set to Matt Benjamin
  • Tags set to librgw
Actions #2

Updated by Kajetan Janiak over 3 years ago

please backport the fix to Nautilus

Actions #3

Updated by Matt Benjamin over 3 years ago

  • Backport set to octopus, nautilus
Actions #4

Updated by Matt Benjamin over 3 years ago

  • Status changed from New to Fix Under Review
Actions #5

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

Actions #6

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53133: octopus: prefetch in rgw_file is done 3 times per read added
Actions #7

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

Also available in: Atom PDF