storage: Add proxy storage with retry policy
This implements the actual behavior the loader-core (dvcs ones) exposes. This
will allow to configure other loaders with the same retry (currently limited to
content_add
here for discussion purposes [1]).
This should allow to:
-
take care of issues like [2] (hash collision in package loaders otherwise taken care of in dvcs loaders)
-
clean up some more the current loader-core (original loader-core wraps the storage's entrypoints with
send_{content,origin,...}
methods which adds that retry policy) [3] -
[1] I will complete the implementation if we agree to continue in that direction
-
[2] https://sentry.softwareheritage.org/share/issue/d4f1208b7eec4b43b11e38494ff039cc/
Test Plan
tox
Migrated from D2511 (view on Phabricator)