aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-06-19 00:53:27 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-19 00:54:46 -0700
commit8938d62ba9b77d04130750ac34d23659cd500ded (patch)
treeb4c968542a19ebee542e5c4c013662579bbba8a6 /src/main/java/com/google/devtools/build/lib/actions
parent9e91f20bb31e44b4be836996ac9d91af61e1e822 (diff)
Stop holding on to the Action and ActionKeyContext in ActionConflictException. We can construct the exception message eagerly, since it is going to be thrown with very high likelihood in any case.
The complex objects inside it made it hard to serialize. PiperOrigin-RevId: 201130522
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/MutableActionGraph.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/MutableActionGraph.java b/src/main/java/com/google/devtools/build/lib/actions/MutableActionGraph.java
index 24a74ad28c..03ac629dc8 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/MutableActionGraph.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/MutableActionGraph.java
@@ -63,11 +63,9 @@ public interface MutableActionGraph extends ActionGraph {
*/
final class ActionConflictException extends Exception {
- private final ActionKeyContext actionKeyContext;
private final Artifact artifact;
- private final ActionAnalysisMetadata previousAction;
- private final ActionAnalysisMetadata attemptedAction;
-
+ private final String suffix;
+
private static final int MAX_DIFF_ARTIFACTS_TO_REPORT = 5;
public ActionConflictException(
@@ -81,10 +79,8 @@ public interface MutableActionGraph extends ActionGraph {
artifact.prettyPrint(),
previousAction.prettyPrint(),
attemptedAction.prettyPrint()));
- this.actionKeyContext = actionKeyContext;
this.artifact = artifact;
- this.previousAction = previousAction;
- this.attemptedAction = attemptedAction;
+ this.suffix = suffix(actionKeyContext, attemptedAction, previousAction);
}
public Artifact getArtifact() {
@@ -96,7 +92,7 @@ public interface MutableActionGraph extends ActionGraph {
"file '"
+ artifact.prettyPrint()
+ "' is generated by these conflicting actions:\n"
- + suffix(actionKeyContext, attemptedAction, previousAction);
+ + suffix;
eventListener.handle(Event.error(msg));
}