Be resilient to a non-decreasing clock in BlazeRuntime#recordLastExecutionTime. Also add @Nullable annotations as appropriate.
Fixes #394.
--
MOS_MIGRATED_REVID=101685096
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
index 9e00da1..3c414d8 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
@@ -67,20 +67,21 @@
SkyFunctionName.functionIs(SkyFunctions.ACTION_EXECUTION);
private final TimestampGranularityMonitor tsgm;
+ @Nullable
private final Range<Long> lastExecutionTimeRange;
private final Supplier<Map<SkyKey, SkyValue>> valuesSupplier;
private AtomicInteger modifiedOutputFilesCounter = new AtomicInteger(0);
private AtomicInteger modifiedOutputFilesIntraBuildCounter = new AtomicInteger(0);
FilesystemValueChecker(Supplier<Map<SkyKey, SkyValue>> valuesSupplier,
- TimestampGranularityMonitor tsgm, Range<Long> lastExecutionTimeRange) {
+ TimestampGranularityMonitor tsgm, @Nullable Range<Long> lastExecutionTimeRange) {
this.valuesSupplier = valuesSupplier;
this.tsgm = tsgm;
this.lastExecutionTimeRange = lastExecutionTimeRange;
}
FilesystemValueChecker(final MemoizingEvaluator evaluator, TimestampGranularityMonitor tsgm,
- Range<Long> lastExecutionTimeRange) {
+ @Nullable Range<Long> lastExecutionTimeRange) {
this.tsgm = tsgm;
this.lastExecutionTimeRange = lastExecutionTimeRange;