swift/swift/common/middleware
Tim Burke 5c6407bf59 proxy: Add a chance to skip memcache for get_*_info calls
If you've got thousands of requests per second for objects in a single
container, you basically NEVER want that container's info to ever fall
out of memcache. If it *does*, all those clients are almost certainly
going to overload the container.

Avoid this by allowing some small fraction of requests to bypass and
refresh the cache, pushing out the TTL as long as there continue to be
requests to the container. The likelihood of skipping the cache is
configurable, similar to what we did for shard range sets.

Change-Id: If9249a42b30e2a2e7c4b0b91f947f24bf891b86f
Closes-Bug: #1883324
2022-08-30 18:49:48 +10:00
..
crypto Various doc formatting cleanups 2022-08-02 14:28:36 -07:00
s3api proxy: Add a chance to skip memcache for get_*_info calls 2022-08-30 18:49:48 +10:00
versioned_writes proxy: Add a chance to skip memcache for get_*_info calls 2022-08-30 18:49:48 +10:00
x_profile Update hacking for Python3 2020-04-03 21:21:07 +02:00
__init__.py Rewrite redirection in cname_lookup & domain_remap 2017-05-11 09:46:29 -04:00
account_quotas.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
acl.py Use == to compare against the empty string, not is 2019-10-14 17:40:42 -07:00
backend_ratelimit.py Add backend rate limiting middleware 2022-05-20 14:40:00 +01:00
bulk.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
catch_errors.py Merge "Content-Length enforcement fixups" 2018-06-29 05:43:39 +00:00
cname_lookup.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
container_quotas.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
container_sync.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
copy.py New Object Versioning mode 2020-01-24 17:39:56 -08:00
crossdomain.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
dlo.py replace md5 with swift utils version 2020-12-15 09:52:55 -05:00
domain_remap.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
etag_quoter.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
formpost.py formpost: deprecate sha1 signatures 2022-07-26 10:39:58 +10:00
gatekeeper.py Allow internal clients to use reserved namespace 2019-11-27 11:22:00 -06:00
healthcheck.py py3: port healthcheck 2018-06-26 13:20:49 -07:00
keystoneauth.py Add a project scope read-only role to keystoneauth 2021-08-02 14:35:32 -05:00
list_endpoints.py Update SAIO & docker image to use 62xx ports 2020-07-20 15:17:12 -07:00
listing_formats.py Fix up some Content-Type handling in account/container listings 2020-02-28 18:32:38 -08:00
memcache.py Rip out pickle support in our memcached client 2022-04-27 11:16:16 -07:00
name_check.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
proxy_logging.py proxy-logging: Allow to add domain in log messages 2022-06-22 10:45:01 -07:00
ratelimit.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
read_only.py read-only: Only act on Swift paths 2022-02-09 14:01:42 -08:00
recon.py Add and pipe reconstructor stats through recon 2021-08-20 00:03:40 +00:00
slo.py slo: Reduce overhead for 'Not an SLO manifest' responses 2022-07-28 14:50:16 -07:00
staticweb.py Merge "staticweb: Allow empty listings at the root of a container" 2022-05-27 18:32:34 +00:00
symlink.py Move *_swift_info functions into a new registry module 2022-02-03 14:41:13 +00:00
tempauth.py Don't give clients made up tokens 2022-05-02 17:28:03 -05:00
tempurl.py formpost: deprecate sha1 signatures 2022-07-26 10:39:58 +10:00
xprofile.py Python3: fix test_xprofile.py 2018-12-12 20:26:10 +01:00