Module cleanup - don't hold on to stuff after the command completes.
--
MOS_MIGRATED_REVID=120111522
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/dash/DashModule.java b/src/main/java/com/google/devtools/build/lib/bazel/dash/DashModule.java
index ac46df5..79c753f 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/dash/DashModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/dash/DashModule.java
@@ -67,17 +67,19 @@
*/
public class DashModule extends BlazeModule {
private static final int ONE_MB = 1024 * 1024;
+ private static final NoOpSender NO_OP_SENDER = new NoOpSender();
private static final String DASH_SECRET_HEADER = "bazel-dash-secret";
+ private final ExecutorService executorService;
+
private Sendable sender;
private CommandEnvironment env;
- private final ExecutorService executorService;
private BuildData optionsBuildData;
public DashModule() {
// Make sure sender != null before we hop on the event bus.
- sender = new NoOpSender();
+ sender = NO_OP_SENDER;
executorService = Executors.newFixedThreadPool(5,
new ThreadFactory() {
@Override
@@ -96,6 +98,13 @@
}
@Override
+ public void afterCommand() {
+ this.sender = NO_OP_SENDER;
+ this.env = null;
+ this.optionsBuildData = null;
+ }
+
+ @Override
public Iterable<Class<? extends OptionsBase>> getCommandOptions(Command command) {
return (command.name().equals("build") || command.name().equals("test"))
? ImmutableList.<Class<? extends OptionsBase>>of(DashOptions.class)
@@ -107,11 +116,11 @@
DashOptions options = optionsProvider.getOptions(DashOptions.class);
try {
sender = (options == null || !options.useDash)
- ? new NoOpSender()
+ ? NO_OP_SENDER
: new Sender(options.url, options.secret, env, executorService);
} catch (SenderException e) {
env.getReporter().handle(e.toEvent());
- sender = new NoOpSender();
+ sender = NO_OP_SENDER;
}
if (optionsBuildData != null) {
sender.send("options", optionsBuildData);
@@ -360,5 +369,4 @@
public void send(String suffix, BuildData message) {
}
}
-
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
index de79f05..73ba2f2 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
@@ -47,6 +47,13 @@
eventBus.register(this);
}
+ @Override
+ public void afterCommand() {
+ this.criticalPathComputer = null;
+ this.eventBus = null;
+ this.reporter = null;
+ }
+
@Subscribe
public void executionPhaseStarting(ExecutionStartingEvent event) {
criticalPathComputer = new SimpleCriticalPathComputer(BlazeClock.instance());