swift/test
Tim Burke b68cc893f7 proxy: Reduce round-trips to memcache and backend on info misses
Following a memcache restart in a SAIO, I've seen the following happen
during an object HEAD:

- etag_quoter wants to get account/container info to decide whether to
  quote-wrap or not
- account info is a cache miss, so we make a no-auth'ed HEAD to the next
  filter in the pipeline
- eventually this gets down to ratelimit, which *also* wants to get
  account info
- still a cache miss, so we make a *separate* HEAD that eventually talks
  to the backend and populates cache
- ratelimit realizes it can't ratelimit the request and lets the
  original HEAD through to the backend

There's a related bug about how something similar can happen when the
backend gets overloaded, but *everything is working* -- we just ought to
be talking straight to the proxy app.

Note that there's likely something similar going on with container info,
but the hardcoded 10% sampling rate makes it harder to see if you're
monitoring raw metric streams.

I thought I fixed this in the related change, but no :-/

Change-Id: I49447c62abf9375541f396f984c91e128b8a05d5
Related-Change: If9249a42b30e2a2e7c4b0b91f947f24bf891b86f
Related-Bug: #1883214
2023-03-01 15:02:42 -08:00
..
cors s3api: Allow CORS preflights for pre-signed URLs 2021-07-14 10:52:12 -07:00
functional Merge "tests: Get rid of test.unit.SkipTest" 2023-02-28 02:20:04 +00:00
probe Merge "Sharding: No stat updates before CLEAVED state" 2023-02-02 04:07:55 +00:00
s3api Tolerate absolute-form request targets 2023-01-03 12:49:30 -08:00
unit proxy: Reduce round-trips to memcache and backend on info misses 2023-03-01 15:02:42 -08:00
__init__.py Clean up some cruft 2023-01-19 12:56:08 -08:00
debug_logger.py sharder: emit misplaced stats to statsd 2022-07-27 10:53:30 +01:00
sample.conf fix s3api functional tests 2020-05-15 22:38:04 -07:00