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
Internally or externally generated HEAD requests on accounts and containers c...
Product: Gluster-Swift
Classification: Community
Component: object-server (Show other bugs)
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Michael Adam
Depends On:
Blocks: 903396 978061
  Show dependency treegraph
Reported: 2013-02-14 21:57 EST by Peter Portante
Modified: 2016-11-08 17:26 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Peter Portante 2013-02-14 21:57:08 EST
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 10:45:12 EDT
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.