diff options
author | Janak Ramakrishnan <janakr@google.com> | 2015-04-13 16:07:16 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2015-04-14 14:30:47 +0000 |
commit | b8eed8aa039f8ad06c09c00caec8999f589ccd27 (patch) | |
tree | 4d44c84aca3f48ad749f2527f458df4bbcc95adc /src/test/java/com | |
parent | f5c6097be39e38822b48a685547fbefca47b6f14 (diff) |
Fix race when two shared actions don't know about each other until after they have started executing in SkyframeActionExecutor.
We were updating the action cache for both actions in this case, but one of the actions' metadata handler was not updated during execution, and thus it had no metadata for outputs.
--
MOS_MIGRATED_REVID=90993813
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java index 58e24974b4..49128ca91d 100644 --- a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java +++ b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java @@ -64,6 +64,7 @@ public class NotifyingInMemoryGraph extends InMemoryGraph { SET_VALUE, MARK_DIRTY, IS_CHANGED, + GET_VALUE_WITH_METADATA, IS_DIRTY } @@ -124,5 +125,11 @@ public class NotifyingInMemoryGraph extends InMemoryGraph { graphListener.accept(myKey, EventType.IS_DIRTY, Order.BEFORE, this); return super.isDirty(); } + + @Override + public ValueWithMetadata getValueWithMetadata() { + graphListener.accept(myKey, EventType.GET_VALUE_WITH_METADATA, Order.BEFORE, this); + return super.getValueWithMetadata(); + } } } |