[7.5.0] Do not invalidate remote metadata during action dirtiness check #24941
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
... if the corresponding output is materialized afterwards and hasn't been changed.
Failing to do so will cause an incremental build to re-check the action cache for actions whose outputs were materialized during last build. This can be very slow if the size of the outputs are large.
We achieved this by storing
FileContentsProxy
in the remote metadata after materialization. During dirtiness check, we compare remote metadata and the corresponding local metadata with theirdigest
, orproxy
ifdigest
is not available for local metadata,A user reported back the wall time of their very first increment build is improved by this change from
14s
to less than1s
in common case, and from115s
to less than1s
in worst case. #24763PiperOrigin-RevId: 715734718
Change-Id: Id1a1a59d8b5f3e91a7ae05a73663ff37eee6d163
Fixes #24920.