Bug 1041602 - [RFE][swift]: Reduce pending update flush contention for container listings
Summary: [RFE][swift]: Reduce pending update flush contention for container listings
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/swif...
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-12 18:11 UTC by RHOS Integration
Modified: 2015-03-19 16:51 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-19 16:51:06 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description RHOS Integration 2013-12-12 18:11:53 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/swift/+spec/reduce-container-contention.

Description:

Instead of always flushing the pending update log in list_objects_iter(),  check if there is a prefix parameter, and if so, only flush if:
(a) The log file reached a size threshhold (similar to the PUT logic) or an age threshhold
(b) The log file has an entry where 'obj'=<some value with the prefix> (a flush is required for correctness)
I think this could reduce the contention/frequency of flushing (and cause less fsync())  when listings are frequent.

Specification URL (additional information):

None


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