Prevent leaking all artifacts to all actions with
ArtifactNestedSetFunction#artifactSkyKeyToSkyValue.

RELNOTES: None
PiperOrigin-RevId: 320000030
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
index f53b21a..20ce194 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
@@ -1359,8 +1359,6 @@
       IntFunction<S> actionInputMapSinkFactory,
       AccumulateInputResultsFactory<S, R> accumulateInputResultsFactory)
       throws ActionExecutionException, InterruptedException {
-    Map<SkyKey, SkyValue> artifactSkyKeyToSkyValue =
-        ArtifactNestedSetFunction.getInstance().getArtifactSkyKeyToSkyValue();
     ImmutableList<Artifact> allInputsList = allInputs.toList();
 
     // Some keys have more than 1 corresponding Artifact (e.g. actions with 2 outputs).
@@ -1372,7 +1370,6 @@
         new ActionExecutionFunctionExceptionHandler(
             skyKeyToArtifactOrSet,
             inputDeps,
-            artifactSkyKeyToSkyValue,
             action,
             mandatoryInputs,
             skyframeActionExecutor);
@@ -1393,7 +1390,7 @@
     Map<Artifact, Collection<Artifact>> expandedArtifacts = Maps.newHashMapWithExpectedSize(128);
 
     for (Artifact input : allInputsList) {
-      SkyValue value = artifactSkyKeyToSkyValue.get(Artifact.key(input));
+      SkyValue value = ArtifactNestedSetFunction.getInstance().getValueForKey(Artifact.key(input));
       if (value instanceof MissingFileArtifactValue) {
         if (actionExecutionFunctionExceptionHandler.isMandatory(input)) {
           actionExecutionFunctionExceptionHandler.accumulateMissingFileArtifactValue(
@@ -1587,7 +1584,6 @@
             ValueOrException3<
                 IOException, ActionExecutionException, ArtifactNestedSetEvalException>>
         inputDeps;
-    private final Map<SkyKey, SkyValue> artifactSkyKeyToSkyValue;
     private final Action action;
     private final Set<Artifact> mandatoryInputs;
     private final SkyframeActionExecutor skyframeActionExecutor;
@@ -1602,13 +1598,11 @@
                 ValueOrException3<
                     IOException, ActionExecutionException, ArtifactNestedSetEvalException>>
             inputDeps,
-        Map<SkyKey, SkyValue> artifactSkyKeyToSkyValue,
         Action action,
         Set<Artifact> mandatoryInputs,
         SkyframeActionExecutor skyframeActionExecutor) {
       this.skyKeyToArtifactSet = skyKeyToArtifactSet;
       this.inputDeps = inputDeps;
-      this.artifactSkyKeyToSkyValue = artifactSkyKeyToSkyValue;
       this.action = action;
       this.mandatoryInputs = mandatoryInputs;
       this.skyframeActionExecutor = skyframeActionExecutor;
@@ -1630,7 +1624,7 @@
           if (key instanceof ArtifactNestedSetKey || value == null) {
             continue;
           }
-          artifactSkyKeyToSkyValue.put(key, value);
+          ArtifactNestedSetFunction.getInstance().updateValueForKey(key, value);
         } catch (IOException e) {
           for (Artifact input : skyKeyToArtifactSet.get(key)) {
             handleIOException(input, e);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java
index 2d3b6d0..92eeee3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactNestedSetFunction.java
@@ -189,8 +189,12 @@
     artifactSkyKeyToSkyValue = Maps.newConcurrentMap();
   }
 
-  Map<SkyKey, SkyValue> getArtifactSkyKeyToSkyValue() {
-    return artifactSkyKeyToSkyValue;
+  SkyValue getValueForKey(SkyKey skyKey) {
+    return artifactSkyKeyToSkyValue.get(skyKey);
+  }
+
+  void updateValueForKey(SkyKey skyKey, SkyValue skyValue) {
+    artifactSkyKeyToSkyValue.put(skyKey, skyValue);
   }
 
   @Override