swift/test/unit/proxy
Alistair Coles 1032b45e10 Avoid loops when gathering container listings from shards
Previously the proxy container controller could, in corner cases, get
into a loop while building a listing for a sharded container. For
example, if a root has a single shard then the proxy will be
redirected to that shard, but if that shard has shrunk into the root
then it will redirect the proxy back to the root, and so on until the
root is updated with the shard's shrunken status.

There is already a guard to prevent the proxy fetching shard ranges
again from the same container that it is *currently* querying for
listing parts. That deals with the case when a container fills in gaps
in its listing shard ranges with a reference to itself. This patch
extends that guard to prevent the proxy fetching shard ranges again
from any container that has previously been queried for listing parts.

Cherry-Picked-From: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b
Change-Id: I0e83bc18494b85f8c20698998c66ec423646475d
2021-02-22 18:39:09 -06:00
..
controllers Avoid loops when gathering container listings from shards 2021-02-22 18:39:09 -06:00
__init__.py Initial commit of Swift code 2010-07-12 17:03:45 -05:00
test_mem_server.py Fix socket leak on object-server death 2019-01-31 18:38:35 +00:00
test_server.py Client should retry when there's just one 404 and a bunch of errors 2020-09-08 14:33:09 -07:00
test_sysmeta.py Get rid of memcache attr on proxy-server app 2020-06-26 21:44:46 -07:00