Skip to content

Conversation

@wolfeidau
Copy link
Member

@wolfeidau wolfeidau commented Dec 11, 2025

Description

This may add a bit of contention but will help with situations where there are many small, sub 1gb caches.

I have followed the prevailing style with the concurrency implementation.

Context

https://linear.app/buildkite/issue/MDC-822/add-support-for-concurrent-save-and-restore-of-caches-in-the-buildkite

Changes

Adds a new option to cache CLI operations and some logic to save and restore to support concurrent operations.

Testing

  • Tests have run locally (with go test ./...). Buildkite employees may check this if the pipeline has run automatically.
  • Code is formatted (with go tool gofumpt -extra -w .)

Updated tests.

Disclosures / Credits

AMP Code was used to review concurrency options and draft this change, and update tests, then I adjusted a few things.

This may add a bit of contention but will help with situations where there are many small, sub 1gb caches.

I have followed the prevailing style with the concurrency implementation.
@wolfeidau wolfeidau marked this pull request as ready for review December 11, 2025 01:38
@wolfeidau wolfeidau requested review from a team and zhming0 December 11, 2025 04:22
Copy link
Contributor

@CerealBoy CerealBoy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be a good idea to have a couple of extra test cases, specifically for values like 0 and 100 / having many blobs?

Otherwise LGTM 🚀 🚀

@wolfeidau
Copy link
Member Author

Yeah I will add more testing once things have solidified API wise.

@wolfeidau wolfeidau merged commit 9561e4f into main Dec 11, 2025
2 checks passed
@wolfeidau wolfeidau deleted the feat_update_cache_to_support_concurrent_save_restore branch December 11, 2025 21:17
@zhming0 zhming0 mentioned this pull request Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants