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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure the AC correctly tracks the output blobs associated with an action #33

Conversation

adamj-codethink
Copy link

This PR mitigates the problem of cache clean-up and cached actions, which particularly effect builds without the bytes.

This is documented here: bazelbuild/bazel#8250

We pass the blobstore to the Action Cache, so that it can query the remote blob stores, to check the associated output digests are still cached for a given action. If not a blob not found response is returned, which will trigger bazel to rebuild that given action.

@moroten
Copy link
Contributor

moroten commented Dec 16, 2019

This tries to solve #28.

I tried a similar solution a while ago but realized that you need to touch all the blobs in such way that they are not evicted during the build, just checking for existence is not enough. I got into troubles when just doing a simple existence check on a circular storage that was filled.

My solution was to use a larger storage space until implementing a proper solution, which hasn't happened yet. Let us see what code Ed Schouten will release early next year, if that solves our problems.

@EdSchouten
Copy link
Member

Hey! Yes, the latest bb-storage code has a special CompletenessCheckingBlobAccess that implements this verification step. It can be enabled optionally, because there are cases in which you don’t want to enable it (in sharded setups). Let’s close this PR and continue to track this issue in #28.

@EdSchouten EdSchouten closed this Dec 17, 2019
@EdSchouten
Copy link
Member

CompletenessCheckingBlobAccess is part of #34.

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