Skip to content

Conversation

@bvinc
Copy link
Contributor

@bvinc bvinc commented Oct 15, 2025

Previously, as part of an optimization to FindMissingBlobs calls, the find_missing_cache was changed so that the first task to ask about a blob could notify others of the result when it was finished. This introduced a bug related to cancellation: If the first task is canceled before it finishes, every other task that was waiting on the result fails with a "channel closed" error.

Since then, there has been a GetDigestsTtlDeduper introduced at a higher layer, outside of the remote execution client, that deduplicates these same calls.

This change completely gets rid of attempting to deduplicate FindMissingBlobs calls inside of the remote execution client. At the moment, I think this is the best course of action, and to get deduplication of these calls, it should be preferred to enable deduplicate_get_digests_ttl_calls.

Previously, as part of an optimization to FindMissingBlobs calls, the
find_missing_cache was changed so that the first task to ask about a
blob could notify others of the result when it was finished.  This
introduced a bug related to cancellation:  If the first task is
canceled before it finishes, every other task that was waiting on the
result fails with a "channel closed" error.

Since then, there has been a GetDigestsTtlDeduper introduced at a higher
layer, outside of the remote execution client, that deduplicates these
same calls.

This change completely gets rid of attempting to deduplicate
FindMissingBlobs calls inside of the remote execution client.  At the
moment, I think this is the best course of action, and to get
deduplication of these calls, it should be preferred to enable
deduplicate_get_digests_ttl_calls.
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 15, 2025
@meta-codesync
Copy link
Contributor

meta-codesync bot commented Oct 15, 2025

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this in D84729147. (Because this pull request was imported automatically, there will not be any future comments.)

@scottcao
Copy link
Contributor

Looks good.

I want to reference a comment from @JakobDegen from the original diff that introduced GetDigestsTtlDeduper.

Fwiw the lack of buck-side dedupe has been a paint point for OSS since their RE clients don't do any of that - this particular diff will solve a problem for them, and also maybe we should just bite the bullet and do something like this across the board. Idk

If doing this across the board is something that would benefit you, we can certainly consider it.

@meta-codesync
Copy link
Contributor

meta-codesync bot commented Oct 16, 2025

This pull request has been merged in 040ce41.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants