diff options
author | Nathan Harmata <nharmata@google.com> | 2016-05-26 19:56:24 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-05-27 08:45:27 +0000 |
commit | 3724d92fb85e021b6b65c3edb77c61572baedc25 (patch) | |
tree | 7f6c2f47b84e01d603d73c8d46c0265ade4be65e /src/main/java/com/google/devtools/build/skyframe/InvalidatingNodeVisitor.java | |
parent | a4bfb3c49f164d47322b39c560a716b89788002b (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.java | 14 |
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; } |