Bug 2011600

Summary: On EC reads always read entire stripe
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Kyle Bader <kbader>
Component: RADOSAssignee: Neha Ojha <nojha>
Status: NEW --- QA Contact: Manohar Murthy <mmurthy>
Severity: high Docs Contact:
Priority: unspecified    
Version: 5.0CC: akupczyk, bhubbard, ceph-eng-bugs, kbader, nojha, pdhiran, rzarzyns, sseshasa, vereddy, vumrao
Target Milestone: ---   
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kyle Bader 2021-10-06 20:34:08 UTC
Description of problem:

On EC reads always read entire stripe, including padding. 

Version-Release number of selected component (if applicable):

ceph version 16.2.0-117.el8cp (0e34bb74700060ebfaa22d99b7d2cdc037b28a57) pacific (stable)

How reproducible:

Easy.

Steps to Reproduce:

* Create k=2 m=1 erasure code profile with stripe_unit set to 4M (implicit 8M stripe_width)
* Write 4M objects
* Read objects
* Observe 8M worth of reads

Actual results:

Entire stripe read (8M)

Expected results:

Only data read, not padding (4M)

Comment 1 RHEL Program Management 2021-10-06 20:34:15 UTC
Please specify the severity of this bug. Severity is defined here:
https://bugzilla.redhat.com/page.cgi?id=fields.html#bug_severity.

Comment 2 Kyle Bader 2021-10-06 23:19:16 UTC
Or really, no need to set the stripe_unit at all. Just write 4K objects, read them, and observe 8K worth of reads (4K of actual data on primary, 4K of padding on secondary).