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

Correctly handle partial trees and nested artifacts in the prefetcher. #17607

Closed
wants to merge 1 commit into from

Conversation

tjgq
Copy link
Contributor

@tjgq tjgq commented Feb 27, 2023

Due to the existence of partial trees (tree artifacts whose files are not all produced by the same action) and nested artifacts (artifacts whose output path is a strict prefix of another artifact's), the prefetcher must not assume every tree artifact is fetched as a whole. In addition, concurrent actions calling the prefetcher might write to the same directory in the output tree, so they must synchronize when making the directory temporarily writable.

Fixes #16333.

@tjgq tjgq force-pushed the prefetcher branch 3 times, most recently from 16cc939 to a9f5ce8 Compare February 27, 2023 20:49
Due to the existence of partial trees (tree artifacts whose files are not all
produced by the same action) and nested artifacts (artifacts whose output path
is a strict prefix of another artifact's), the prefetcher must not assume every
tree artifact is fetched as a whole. In addition, concurrent actions calling
the prefetcher might write to the same directory in the output tree, so they
must synchronize when making the directory temporarily writable.

Fixes bazelbuild#16333.
@tjgq tjgq closed this Mar 1, 2023
@ShreeM01 ShreeM01 added the team-Remote-Exec Issues and PRs for the Execution (Remote) team label Mar 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-Remote-Exec Issues and PRs for the Execution (Remote) team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Input prefetcher handles partial tree artifacts and nested artifacts incorrectly
2 participants