Move handling of experimental_nested_set_as_skykey_threshold to SkyframeExecutor.
PiperOrigin-RevId: 281963441
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
index 120bdc9..91becad 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
@@ -38,7 +38,6 @@
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Factory;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget;
-import com.google.devtools.build.lib.buildtool.BuildRequestOptions;
import com.google.devtools.build.lib.cmdline.LabelConstants;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.concurrent.Uninterruptibles;
@@ -227,20 +226,6 @@
return recordingDiffer;
}
- /**
- * Update the nestedset size threshold if the flag value changed.
- *
- * @return whether an update was made.
- */
- private static boolean nestedSetAsSkyKeyThresholdUpdatedAndReset(
- BuildRequestOptions buildRequestOptions) {
- if (buildRequestOptions == null) {
- return false;
- }
- return ArtifactNestedSetFunction.sizeThresholdUpdatedTo(
- buildRequestOptions.nestedSetAsSkyKeyThreshold);
- }
-
@Override
public void sync(
ExtendedEventHandler eventHandler,
@@ -256,9 +241,7 @@
// evaluator to avoid dependency inconsistencies in Skyframe.
// Resetting the evaluator also creates new instances of the SkyFunctions, hence also wiping
// various state maps in ActionExecutionFunction and ArtifactNestedSetFunction.
- if (evaluatorNeedsReset
- || nestedSetAsSkyKeyThresholdUpdatedAndReset(
- options.getOptions(BuildRequestOptions.class))) {
+ if (evaluatorNeedsReset || nestedSetAsSkyKeyThresholdUpdatedAndReset(options)) {
// Recreate MemoizingEvaluator so that graph is recreated with correct edge-clearing status,
// or if the graph doesn't have edges, so that a fresh graph can be used.
resetEvaluator();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index dd7a1a2..ccd2b89 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -2690,6 +2690,20 @@
}
}
+ /**
+ * Updates the nestedset size threshold if the flag value changed.
+ *
+ * @return whether an update was made.
+ */
+ protected static boolean nestedSetAsSkyKeyThresholdUpdatedAndReset(OptionsProvider options) {
+ BuildRequestOptions buildRequestOptions = options.getOptions(BuildRequestOptions.class);
+ if (buildRequestOptions == null) {
+ return false;
+ }
+ return ArtifactNestedSetFunction.sizeThresholdUpdatedTo(
+ buildRequestOptions.nestedSetAsSkyKeyThreshold);
+ }
+
protected void syncPackageLoading(
PackageCacheOptions packageCacheOptions,
PathPackageLocator pathPackageLocator,