| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Replace all previous uses of Metadata with FileArtifactValue (or a simple inner
class in the case of ActionCacheChecker.CONSTANT_METADATA).
Care was taken to make the equals method obey the equals contract, even in the
presence of multiple implementations.
PiperOrigin-RevId: 160115080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part of cleaning up the ActionInputFileCache / MetadataHandler split.
Both classes generally store and return identical information, except the
MetadataHandler lies about constant metadata artifacts. Instead of lying here,
update the ActionCacheChecker, which is the only place where we actually want
constant metadata.
Additionally, remove getMetadataMaybe; again, the only caller that needs
special casing is the ActionCacheChecker, so we move the special casing there
instead of having it in the MetadataHandler.
PiperOrigin-RevId: 159665345
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This relies on the explicit state transition in MetadataHandler to decide
whether the chmod call is necessary (we must never call chmod if the action
was not executed).
This is a prerequisite for #1525. If we want to use ctime for detecting file
content changes (which is more reliable than just mtime), then we must call
chmod before stat, since chmod affects ctime.
Before this change, we were caching the stat in ActionMetadataHandler, but
calling chmod after action execution in SkyframeActionExecutor, which is the
wrong order of calls. However, we must be able to stat in ActionMetadataHandler
for cases where a single action runs multiple Spawns where one spawn's output
is a subsequent spawn's input.
Remove MetadataHandler.isInjected, which is no longer used anywhere.
PiperOrigin-RevId: 152387133
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ActionMetadataHandler does an explicit state transition on
discardOutputMetadata. Before the call, it may be used for action cache
checking, and after the call it may be updated with execution results.
Several of the methods now throw if they're used incorrectly, so I had to
refactor the control flow in ActionExecutionFunction to correctly call
discardOutputMetadata on the MetadataHandler in all cases. I discovered a
resource leak (of FileOutErr) in IncludeParseFunction while I was at it, so
I plugged that as well.
One step towards #1525.
PiperOrigin-RevId: 152363982
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 144444493
MOS_MIGRATED_REVID=144444493
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Constant metadata" artifacts represent real files whose changes should be
ignored by the build system. However, these artifacts were triggering the
timestamp granularity checks in TimestampGranularityMonitor because the fact
that they were "constant metadata" was not respected. Avoid this so that
their regeneration does not cause the build to unnecessarily stall.
One of these artifacts is the volatile workspace status file, which is
unconditionally updated on each build. Before this fix, "blaze build" would
get stuck for up to a second waiting for file system timestamps to catch up.
With this fix, the artifact is ignored and the wait is gone. This problem
is magnified on macOS where the default HFS+ file system only has
second-level granularity. (This also affects Linux, but because current
Linux file systems have milli/nanosecond-level granularity, the wait imposed
by TimestampGranularityMonitor is minimal and thus not generally noticeable.)
--
MOS_MIGRATED_REVID=137867586
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=137072310
|
|
|
|
|
|
|
| |
now handle failed TreeArtifact output checks gracefully.
--
MOS_MIGRATED_REVID=136627086
|
|
|
|
|
|
|
| |
TreeArtifacts.
--
MOS_MIGRATED_REVID=135485914
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=130986194
|
|
|
|
|
|
|
| |
digest are mutually exclusive.
--
MOS_MIGRATED_REVID=128843642
|
|
|
|
|
|
|
| |
always digested.
--
MOS_MIGRATED_REVID=128768429
|
|
|
|
|
|
|
|
|
| |
Since we no longer stored mtime for empty files, this bug meant that we always compared empty files equal (which is good). But we shouldn't be using Metadata based on mtime for them.
A follow-up change will do a refactor to make this impossible.
--
MOS_MIGRATED_REVID=128742054
|
|
|
|
|
|
|
| |
RELNOTES: Bazel no longer regards an empty file as changed if its mtime has changed.
--
MOS_MIGRATED_REVID=127328552
|
|
|
|
|
|
|
|
| |
1. Adds ActionTemplateExpansion{Function, Value} for ActionTemplate expansion.
2. Changes ArtifactFunction to support evaluating TreeFileArtifacts and TreeArtifacts generated by ActionTemplate.
--
MOS_MIGRATED_REVID=124160939
|
|
|
|
|
|
|
| |
Remove ArtifactFile, which is rendered obsolete by TreeFileArtifact.
--
MOS_MIGRATED_REVID=119789154
|
|
|
|
|
|
|
|
| |
This is one of the last pieces of state in BlazeRuntime that isn't safe to
share across command invocations.
--
MOS_MIGRATED_REVID=117910631
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward with the restored logic to avoid stat calls on injected Metadata.
*** Original change description ***
Automated [] rollback of commit df03e10f6552566982399b8779fe7bc7a17d75dc.
--
MOS_MIGRATED_REVID=114447944
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114329043
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114249806
|
|
|
|
|
|
|
| |
ArtifactFunction.
--
MOS_MIGRATED_REVID=114174899
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=97782188
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=95852975
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=94318260
|
|
|
|
|
|
|
| |
metadata handlers, we can just unconditionally discard all output metadata with this call.
--
MOS_MIGRATED_REVID=91008004
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=91007686
|
|
|
|
|
|
|
| |
Note that we probably want to change the discardMetadata signature to no longer take an argument, since we have per-action metadata handling. However, I'd like to know that that's the source of the crash, if it is, which is why I'm not removing the argument right now.
--
MOS_MIGRATED_REVID=90712991
|
|
|
|
|
|
|
| |
Some care was taken to make sure that we only log when a file is missing *after* the action is executed, when its failure to be present should force a build failure anyway, in order to avoid a source of memory pressure.
--
MOS_MIGRATED_REVID=90682557
|
|
functionality is gone.
--
MOS_MIGRATED_REVID=90289916
|