storage*: Type content_find(...) -> List[Content]
Note that it drops unreachable paths [1] in internal storages use (cassandra, in-memory) as well
Impacts swh-web [2]:
$ grep -r "content_find(" $SWH_ENVIRONMENT_HOME/**/swh/* | grep -v swh-storage
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/common/service.py: found = _first_element(storage.content_find({algo: hash}))
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/common/service.py: found = _first_element(storage.content_find({algo: hash}))
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/common/service.py: hashes = _first_element(storage.content_find({algo: hash}))
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/common/service.py: content = _first_element(storage.content_find({"sha1_git": entity["target"]}))
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/common/service.py: c = _first_element(storage.content_find({algo: hash}))
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/tests/common/test_service.py: expected = archive_data.content_find(content)
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/tests/conftest.py: def content_find(self, content):
/home/tony/work/inria/repo/swh/swh-environment/swh-web/swh/web/tests/conftest.py: cnt = self.storage.content_find(cnt_ids_bytes)
-
[1] for the table content, column status, the possible statuses are an enum whose values are
('absent', 'visible', 'hidden')
(in the production storage), 'missing' is not part of those values. -
[2] D3693
Related to T645
Test Plan
tox
Migrated from D3692 (view on Phabricator)