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

[7.3.0] Deduplicate locally executed path mapped spawns #23060

Closed
bazel-io opened this issue Jul 22, 2024 · 2 comments
Closed

[7.3.0] Deduplicate locally executed path mapped spawns #23060

bazel-io opened this issue Jul 22, 2024 · 2 comments

Comments

@bazel-io
Copy link
Member

Forked from #22556

@bazel-io bazel-io added this to the 7.3.0 release blockers milestone Jul 22, 2024
@bazel-io
Copy link
Member Author

Cherry-pick was attempted but there were merge conflicts in the following file(s). Please resolve manually.

src/main/java/com/google/devtools/build/lib/exec/SpawnCache.java
src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnCacheTest.java

cc: @bazelbuild/triage

@fmeum
Copy link
Collaborator

fmeum commented Jul 23, 2024

Sent #23069

github-merge-queue bot pushed a commit that referenced this issue Jul 29, 2024
When path mapping is enabled, different `Spawn`s in the same build can
have identical `RemoteAction.ActionKey`s and can thus provide remote
cache hits for each other. However, cache hits are only possible after
the first local execution has concluded and uploaded its result to the
cache.

To avoid unnecessary duplication of local work, the first `Spawn` for
each `RemoteAction.ActionKey` is tracked until its results have been
uploaded and all other concurrently scheduled `Spawn`s wait for it and
then copy over its local outputs.

Fixes #21043

Closes #22556.

PiperOrigin-RevId: 655097996
Change-Id: I4368f9210c67a306775164d252aae122d8b46f9b

Closes #23060
@keertk keertk closed this as completed Jul 29, 2024
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

No branches or pull requests

3 participants