diff options
author | 2018-06-19 00:53:27 -0700 | |
---|---|---|
committer | 2018-06-19 00:54:46 -0700 | |
commit | 8938d62ba9b77d04130750ac34d23659cd500ded (patch) | |
tree | b4c968542a19ebee542e5c4c013662579bbba8a6 /src/main/java/com/google/devtools/build/lib/actions | |
parent | 9e91f20bb31e44b4be836996ac9d91af61e1e822 (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.java | 12 |
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)); } |