In AbstractSkyFunctionEnvironment, don't check for filtered exceptions in the common case of no exceptions. We were already mostly tracking missing dependencies in the subclasses, so there's no need to check for missing dependencies here.
PiperOrigin-RevId: 207934220
diff --git a/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java b/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
index 3be1c6a..3ac4e3d 100644
--- a/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
+++ b/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
@@ -35,9 +35,9 @@
this.eventHandler = eventHandler;
}
- private static ValueOrUntypedException toUntypedValue(NodeEntry nodeEntry)
- throws InterruptedException {
+ private ValueOrUntypedException toUntypedValue(NodeEntry nodeEntry) throws InterruptedException {
if (nodeEntry == null || !nodeEntry.isDone()) {
+ valuesMissing = true;
return ValueOrUntypedException.ofNull();
}
SkyValue maybeWrappedValue = nodeEntry.getValueMaybeWithMetadata();
@@ -45,6 +45,7 @@
if (justValue != null) {
return ValueOrUntypedException.ofValueUntyped(justValue);
}
+ errorMightHaveBeenFound = true;
ErrorInfo errorInfo =
Preconditions.checkNotNull(ValueWithMetadata.getMaybeErrorInfo(maybeWrappedValue));
Exception exception = errorInfo.getException();