| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
Split collect, concurrent, vfs, windows into package-level BUILD files.
Move clock classes out of "util", into their own Java package.
Move CompactHashSet into its own Java package to break a dependency cycle.
Give nestedset and inmemoryfs their own package-level BUILD files.
PiperOrigin-RevId: 167702127
|
|
|
|
|
|
|
|
|
|
| |
This change enables alternate evaluation strategies.
Drive-by fix to GraphTester, making TestFunction static because it has
no dependencies on its outer class, and adding #unsetConstantValue.
RELNOTES: None.
PiperOrigin-RevId: 164327055
|
|
|
|
|
|
|
|
|
|
| |
an iterable of events without calling into the heavyweight MoreAsserts.
Use that in Skyframe instead of MoreAsserts.
Also delete an unused method in MoreAsserts.
PiperOrigin-RevId: 162754283
|
|
|
|
|
|
|
|
|
|
| |
We don't check explicitly that these are the only two ways, but this can happen if the error transience node is a dep of a node that's being injected, or if an injected node is an "external" file that needs to depend on an external package.
The first possibility can happen if there was an IOException reading the node on the previous build.
We handle the situation by just dirtying the node, not injecting it. Actual evaluation can handle the re-stat.
PiperOrigin-RevId: 162622092
|
|
|
|
|
|
|
| |
A subsequent CL makes TargetPatternKey implement SkyKey, and it's much nicer
if I can pass lists of TargetPatternKey to the various Skyframe APIs.
PiperOrigin-RevId: 162359843
|
|
|
|
|
|
|
| |
We were previously duplicate-posting Postable events posted to the
Skyframe environment.
PiperOrigin-RevId: 162323598
|
|
|
|
|
|
|
| |
With a few manual fixes for readability.
RELNOTES: None.
PiperOrigin-RevId: 160582556
|
|
|
|
|
|
|
| |
errors are used in some of the test cases.
RELNOTES: None
PiperOrigin-RevId: 159275483
|
|
|
|
|
|
|
|
|
|
| |
-Have SkylarkImportLookupFunction include causes in the SkyFunctionExceptions it throws.
-Better transitive skyframe error declarations in ASTFileLookupFunction.
-Have ErrorInfo differentiate between direct and transitive transience.
-Introduce ErrorInfoManager and have ParallelEvaluator/ParallelEvaluatorContext use it.
RELNOTES: None
PiperOrigin-RevId: 159163186
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the introduction of the ExtendedEventHandler, SkyFunctions were
given the possibility to post additional Postable events in addition
to the standard events. As SkyFunctions have to be restartable, events
are collected first and only posted after the function is finished.
Make sure that this also applies to postable events and they are not
dropped.
Change-Id: Ie1c3a0134935c75ea984fa2cc924e7327a9da81f
PiperOrigin-RevId: 158964337
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157685150
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157576492
|
|
|
|
|
|
|
|
|
| |
catch.
IntelliJ's "replace structurally" command was surprisingly useful.
RELNOTES: None.
PiperOrigin-RevId: 157463734
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157446717
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[]
This change has been automatically generated by an Error Prone check that
detects incorrect argument ordering on calls to assertEquals-style methods. See
[]
Cleanup change automatically generated by javacflume/refactory
Refactoring: third_party/java_src/error_prone/project/core/src/main/java/com/google/errorprone/bugpatterns/argumentselectiondefects:AssertEqualsArgumentOrderChecker_refactoring
Tested:
TAP --sample for global presubmit queue
[]
PiperOrigin-RevId: 156539781
|
|
|
|
|
|
|
|
| |
This is useful for dealing with all the existing implementations in the face of
interface changes that are irrelevant.
RELNOTES: None
PiperOrigin-RevId: 155525021
|
|
|
|
|
|
| |
wrapper objects: for OwnedArtifacts, which are the most numerous during builds, and for Labels for TransitiveTraversalValues, which are the most numerous during queries.
PiperOrigin-RevId: 154989520
|
|
|
|
|
|
| |
when change pruning. This can speed up change pruning.
PiperOrigin-RevId: 152538144
|
|
|
|
|
|
| |
keeping incremental state.
PiperOrigin-RevId: 151639711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reverseDepsToConsolidate field in InMemoryNodeEntry. As part of that, revamp our logic of how we store pending operations: store adds bare on initial evaluations, and checks bare on incremental evaluations and operations on done nodes.
This should improve performance in two ways: BuildingState loses two fields, saving working memory intra-build. Storing pending reverse dep operations bare also saves memory intra-build. Note that neither of these changes helps resting memory state, only while a node is still evaluating.
Because of this, we can simplify ReverseDepsUtil a bit, making ReverseDepsUtilImpl a static class, which it always wanted to be (what it really wants to be is a superclass of InMemoryNodeEntry, but I don't want to spend the object alignment bits).
Finally, this makes it pretty tempting to get rid of BuildingState altogether on initial evaluations. We'd still keep DirtyBuildingState, but we could save another ~24 bytes by storing BuildingState's one remaining field, signaledDeps, directly inside InMemoryNodeEntry.
--
PiperOrigin-RevId: 151048879
MOS_MIGRATED_REVID=151048879
|
|
|
|
|
|
|
|
| |
stable names, which helps when using --test_filter.
--
PiperOrigin-RevId: 148986130
MOS_MIGRATED_REVID=148986130
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With more specific information to be reported by Skyfunctions, e.g.,
to inform the build-event protocol on missing files, the EventHandler
interface is no longer enough. Therefore, provide an enriched context
for reporting events.
--
Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8
Reviewed-on: https://cr.bazel.build/8794
PiperOrigin-RevId: 148463437
MOS_MIGRATED_REVID=148463437
|
|
|
|
|
|
|
|
| |
dependencies used in last build
--
PiperOrigin-RevId: 146169454
MOS_MIGRATED_REVID=146169454
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 145059124
MOS_MIGRATED_REVID=145059124
|
|
|
|
|
|
|
|
| |
WalkableGraph#getException to be given non-existent keys without crashing. Add WalkableGraph#isCycle to fill the gap in testing for the difference between non-existence and depending on a cycle.
--
PiperOrigin-RevId: 143205289
MOS_MIGRATED_REVID=143205289
|
|
|
|
|
|
|
|
|
|
| |
It allows all graph implementations to return the list of nodes which are
immediately available to be fetched. NOTE: Not-currently-available here does
not mean the nodes do not exist in the graph. It simply means they are not
ready to be fetched immediately yet.
--
MOS_MIGRATED_REVID=137701432
|
|
|
|
|
|
|
| |
Instead, deduplicate when the helper is actually added to a GroupedList.
--
MOS_MIGRATED_REVID=136145321
|
|
|
|
|
|
|
|
|
|
| |
Remove DirtyKeyTracker and inflight node tracking as independent
progress tracking bits of code, and instead use an internal-facing
DirtyTrackingProgressReceiver wrapper of the user's
EvaluationProgressReceiver.
--
MOS_MIGRATED_REVID=135291924
|
|
|
|
|
|
|
|
|
|
| |
EvaluationProgressReceiver objects have two common naming schemes
currently, and calling them invalidationReceiver is misleading, so to
make the naming convention standard, all object names are based on
"progressReceiver."
--
MOS_MIGRATED_REVID=134411011
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=132999234
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=131944129
|
|
|
|
|
|
|
| |
can use different cycle detection algorithms if they wish.
--
MOS_MIGRATED_REVID=131347160
|
|
|
|
|
|
|
|
|
|
|
| |
respect to cycle checking.
Reducing the size of ParallelEvaluator.java is also probably long overdue.
I believe this change stands on its own, but if you don't think the third change is worth it, and this isn't worth it on its own, feel free to push back.
--
MOS_MIGRATED_REVID=131340165
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, just put them directly into a map. This avoids the memory churn and CPU cost of the set.
As a result, we have to use HashMaps instead of ImmutableMap.Builders, which I hope is ok (especially since we're not keeping them around), and due to that, we have some nice nondeterminism in the returned order, which matters for some cycle-checking tests.
Also, don't use a map at all when we don't need to (when building events).
Note that, since we have to deduplicate at some point, this means that changing the return type of SkyFunction.Environment#getValues to not be a random-access map is probably not worth it. Changing the return type of ProcessableGraph#getBatch to not be a random access map might still be worthwhile, although it might require some funny operations.
--
MOS_MIGRATED_REVID=131070418
|
|
|
|
|
|
|
| |
The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer.
--
MOS_MIGRATED_REVID=130327770
|
|
|
|
|
|
|
|
|
| |
nokeep_going build because it finished building in between the time it was first requested and when we checked it for done-ness after the SkyFunction evaluation.
This results in an IllegalStateException that gets ignored (and, importantly, not propagated) by AbstractQueueVisitor because AbstractQueueVisitor only records and propagates the first Throwable encountered. For nokeep_going evaluations, this will be the SchedulerException that we use for control flow. The IllegalStateException in question is benign in this case because it's merely from a Preconditions failure and doesn't leave anything in a bad state. It's possible, though, that we have other bugs that are being masked in this way.
--
MOS_MIGRATED_REVID=129919336
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=129895423
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=129226221
|
|
|
|
|
|
|
| |
QueryableGraph.Reason which conveys more information. Add a few more Reason enum values to make this refactor benign.
--
MOS_MIGRATED_REVID=129118462
|
|
|
|
|
|
|
| |
parameters conveying the requesting node (if any), the requested node(s), as well as a reason for the skyframe graph lookup. Alternate graph implementations may be interested in this information.
--
MOS_MIGRATED_REVID=128496089
|
|
|
|
|
|
|
| |
SkyFunction if it throws an exception but still has missing deps. Instead, pretend it didn't throw, and restart it when its known deps are all done, presumably to throw the same exception. This removes a basic source of non-determinism.
--
MOS_MIGRATED_REVID=127129202
|
|
|
|
|
|
|
| |
alternate graph implementations to optimize how they construct node entries.
--
MOS_MIGRATED_REVID=126932020
|
|
|
|
|
|
|
| |
interfaces, in preparation for further changes.
--
MOS_MIGRATED_REVID=126924789
|
|
|
|
|
|
|
|
|
| |
Collapse the "evaluating" boolean into the "signaledDeps" int field, since signaledDeps is always 0 if evaluating is false, so we can use the sentinel value -1 to indicate that evaluation has not yet started. This leads to a slightly less tolerant node entry: it must "start evaluating" before you can do things like set its value. Places that wasn't being done have been fixed, at least as far as we have test coverage for.
Also, factor the "dirty" parts of BuildingState out into a subclass. It would probably be cleaner to use composition here, but I don't want to pay the price of another object.
--
MOS_MIGRATED_REVID=126729331
|
|
|
|
|
|
|
| |
last build's deps. This is only an issue with cycles, since there we try to maintain the invariant that a parent is not done before its children by removing its deps on its children before we construct its cycle value.
--
MOS_MIGRATED_REVID=126494009
|
|
|
|
|
|
|
|
|
|
|
| |
missing file to it.
We need to activate this check on presubmits
--
Change-Id: Ia95e92d3816ce92bb69bc0e2cf56e9c60b68d970
Reviewed-on: https://bazel-review.googlesource.com/#/c/3949/
MOS_MIGRATED_REVID=126404792
|
|
|
|
|
|
|
| |
lastEvaluated/lastChanged version fields, we lost memory alignment, so this boolean was costing us 8 bytes per instance.
--
MOS_MIGRATED_REVID=125998857
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125703258
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125362963
|
|
|
|
|
|
|
|
|
|
|
| |
nodes, where there is no work to do anyway.
This triggered some non-determinism that we explicitly workaround in the unit tests.
Also add a comment about a potential but unrelated optimization.
--
MOS_MIGRATED_REVID=125355303
|