Bug 1375231 - Fix Caching Issues for MiqDiskCache Module
Summary: Fix Caching Issues for MiqDiskCache Module
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: SmartState Analysis
Version: 5.6.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: GA
: 5.7.0
Assignee: Jerry Keselman
QA Contact: Jeff Teehan
URL:
Whiteboard:
Depends On:
Blocks: 1376168
TreeView+ depends on / blocked
 
Reported: 2016-09-12 14:03 UTC by John Prause
Modified: 2017-01-12 04:44 UTC (History)
4 users (show)

Fixed In Version: 5.7.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1376168 (view as bug list)
Environment:
Last Closed: 2017-01-11 20:17:51 UTC
Category: ---
Cloudforms Team: CFME Core
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description John Prause 2016-09-12 14:03:40 UTC
Several caching issues have been uncovered and will be addressed here.
Similar changes have been made in MiqHyperVDisk via separate PR.

1) Cache requests where the request overlapped an existing cache entry
both at the start and end resulted in new entry duplicating the existing
entry plus the data at start and end. This will instead be addressed by
creating new entries for the start and end and using the existing entry.
This is a performance issue.

2) Cache requests where the end of the request (but not the start) was present
in an existing cache entry used the incorrect offset into the entry for the data
returned. This is a data integrity issue.

3) The range of blocks cached for new entries was determined incorrectly.
Depending upon the request from the disk module less data might be cached than required.
This is a performance issue.

4) Concatenating cache entries with recursive calls to bread_cached used the "+"
operator exclusively. When possible this is changed to "<<" to eliminate some
temporary buffer allocation and speed things up a little.

5) Comments also added for clarity.

Comment 2 John Prause 2016-09-12 14:04:33 UTC
https://github.com/ManageIQ/manageiq/pull/10002

Comment 6 Jeff Teehan 2016-10-19 19:15:55 UTC
This change is working.  Checked SSA to verify all disk types are working.  Moving to verified.


Note You need to log in before you can comment on or make changes to this bug.