Skip to content

cas.Downloader: Allow downloading copies of a file with the same digest

Santiago Gil requested to merge santi/146-digest-multiple-copies into master

Description

Currently the queue in buildgrid.client.cas.Downloader assumes that there is a 1:1 relation between digests and paths. That presents a problem in the scenario where a same digest is to be downloaded to different locations (which could easily become an issue with the presence of empty files).

Changes proposed in this merge request:

Refactor the queue to store (digest, [output_paths]) tuples. That way a digest is fetched once and written to potentially many locations.

Also, add the tests/cas/data contents from the mablanch/91-download-tree-test-error branch (referred to in #146 (closed)) so that tests consider a more complex directory structure.

This merge request, when merged, will address issue/bug:

#146 (closed)

Edited by Santiago Gil

Merge request reports

Loading