Bug 911446 - Internally or externally generated HEAD requests on accounts and containers can cause severe performance problems with Gluster/Swift responsive and impact volume stability
Summary: Internally or externally generated HEAD requests on accounts and containers c...
Keywords:
Status: ASSIGNED
Alias: None
Product: Gluster-Swift
Classification: Community
Component: object-server
Version: 1.8.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 903396 978061
TreeView+ depends on / blocked
 
Reported: 2013-02-15 02:57 UTC by Peter Portante
Modified: 2023-01-31 23:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description Peter Portante 2013-02-15 02:57:08 UTC
Every PUT, GET or DELETE operation on an object (the most frequent set of REST API operations) requires the proxy server to check for the existence of the account and container to validate the request.

The proxy server uses HEAD requests on the account and another HEAD request on the container to check their existence, caching the positive or negative result of those requests for "recheck_account_existence" or "recheck_container_existence" proxy server configured number of seconds.

When the number of containers in an account grows sufficiently large, or likewise the number of objects in a container, these HEAD requests result in expense directory listing operations involving multiple stat() system calls per file/directory.

Comment 1 Luis Pabón 2013-08-02 14:45:12 UTC
This is currently being 'solved' by not walking the file system tree.  The behavior can be modified in /etc/swift/fs.conf


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