aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java
diff options
context:
space:
mode:
authorGravatar Nathan Harmata <nharmata@google.com>2016-05-26 19:56:24 +0000
committerGravatar Yue Gan <yueg@google.com>2016-05-27 08:45:27 +0000
commit3724d92fb85e021b6b65c3edb77c61572baedc25 (patch)
tree7f6c2f47b84e01d603d73c8d46c0265ade4be65e /src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java
parenta4bfb3c49f164d47322b39c560a716b89788002b (diff)
Allow AQV users to inject arbitrary handling of classified errors.
-- MOS_MIGRATED_REVID=123347295
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java b/src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java
index 78421cb3e7..bb7f05dd69 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java
@@ -22,6 +22,7 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
import com.google.devtools.build.lib.concurrent.AbstractQueueVisitor;
import com.google.devtools.build.lib.concurrent.ErrorClassifier;
+import com.google.devtools.build.lib.concurrent.ErrorHandler;
import com.google.devtools.build.lib.concurrent.ExecutorParams;
import com.google.devtools.build.lib.concurrent.ForkJoinQuiescingExecutor;
import com.google.devtools.build.lib.concurrent.QuiescingExecutor;
@@ -112,7 +113,8 @@ public abstract class InvalidatingNodeVisitor<TGraph extends ThinNodeQueryableGr
/*failFastOnInterrupt=*/ true,
"skyframe-invalidator",
executorFactory,
- errorClassifier);
+ errorClassifier,
+ ErrorHandler.NullHandler.INSTANCE);
this.graph = Preconditions.checkNotNull(graph);
this.invalidationReceiver = invalidationReceiver;
this.dirtyKeyTracker = Preconditions.checkNotNull(dirtyKeyTracker);
@@ -124,8 +126,9 @@ public abstract class InvalidatingNodeVisitor<TGraph extends ThinNodeQueryableGr
@Nullable EvaluationProgressReceiver invalidationReceiver,
InvalidationState state,
DirtyKeyTracker dirtyKeyTracker,
- ForkJoinPool forkJoinPool) {
- this.executor = new ForkJoinQuiescingExecutor(forkJoinPool, errorClassifier);
+ ForkJoinPool forkJoinPool,
+ ErrorHandler errorHandler) {
+ this.executor = new ForkJoinQuiescingExecutor(forkJoinPool, errorClassifier, errorHandler);
this.graph = Preconditions.checkNotNull(graph);
this.invalidationReceiver = invalidationReceiver;
this.dirtyKeyTracker = Preconditions.checkNotNull(dirtyKeyTracker);
@@ -368,8 +371,9 @@ public abstract class InvalidatingNodeVisitor<TGraph extends ThinNodeQueryableGr
InvalidationState state,
DirtyKeyTracker dirtyKeyTracker,
ForkJoinPool forkJoinPool,
- boolean supportInterruptions) {
- super(graph, invalidationReceiver, state, dirtyKeyTracker, forkJoinPool);
+ boolean supportInterruptions,
+ ErrorHandler errorHandler) {
+ super(graph, invalidationReceiver, state, dirtyKeyTracker, forkJoinPool, errorHandler);
this.supportInterruptions = supportInterruptions;
}