Only log message about error pass-through if the exception is an IOException. Actions will pass ActionExecutionException all the way up, which is not a bug.
@@ -32,6 +32,7 @@ import com.google.devtools.build.skyframe.MemoizingEvaluator.EmittedEventState;
import com.google.devtools.build.skyframe.NodeEntry.DependencyState;
import com.google.devtools.build.skyframe.QueryableGraph.Reason;
import com.google.devtools.build.skyframe.SkyFunctionException.ReifiedSkyFunctionException;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -527,7 +528,10 @@ public abstract class AbstractExceptionalParallelEvaluator<E extends Exception>
// Clear interrupted status. We're not listening to interrupts here.
Thread.interrupted();
}
- if (completedRun) {
+ // TODO(b/149495181): remove when resolved.
+ if (completedRun
+ && error.getException() != null
+ && error.getException() instanceof IOException) {
logger.info(
"SkyFunction did not rethrow error, may be a bug that it did not expect one: "
+ errorKey
