Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

spack.util.web: add copy api #39009

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

scottwittenburg
Copy link
Contributor

Prototype that builds on #39008 and #38866 to further speed up spack buildcache sync. By using low-level S3 client api supporting direct copying from one bucket/prefix to another, this PR avoids the current approach of copying (download the file locally, then push it to the remote destination).

There would still be a lot to do on this PR:

  • handle multi-part upload/copy for files larger than 5GB (which some mirrors already have)
  • write tests for file-system based copy branch
  • figure out how to test the GCS branch of the copy method
  • better error handling

Currently I am testing this on S3 mirrors using these scripts. I also used those scripts to test #39008 and #38866, by doing environment aware buildcache sync of all stacks for develop snapshot pipelines from the stack-specific pipeline mirrors to the root. With no parallelization (#38866), syncing one develop snapshot to the top-level mirror took 16 hrs 馃槺, adding parallelization (#39008) reduced that to 8 hrs, and this PR reduced the time spent to just over 45 minutes.

Provide option to only sync buildcache entries that are properly
signed.  Also, gracefully ignore any entries from the manifest
that did not get created created in the pipeline.  Add tests of
new and previously untested code paths.
@spackbot-app spackbot-app bot added commands core PR affects Spack core functionality fetching gitlab Issues related to gitlab integration tests General test capability(ies) utilities labels Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
commands core PR affects Spack core functionality fetching gitlab Issues related to gitlab integration tests General test capability(ies) utilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant