aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-03-20 13:52:06 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-21 12:47:29 +0000
commitceb0f62bd8726ef4bb6799fe2711680c531d2c18 (patch)
tree7f938827fc2bdb2e9899ff4089dba8de16e10c5b /src/main
parent0cdefa97ec4214ecf160d1ce1419c36dedf94601 (diff)
BuildEventStreamer: fix handling of postedEvents
Always initialize the set of postedEvents. Also, record the initial event as posted. In this way, the build event streamer can also handle events that should be posted after the BuildStartedEvent but are told the streamer about earlier. -- Change-Id: Ic796f2434434819e6c62633755411527a9dcb7e0 Reviewed-on: https://cr.bazel.build/9451 PiperOrigin-RevId: 150620387 MOS_MIGRATED_REVID=150620387
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java b/src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java
index c0c50958b5..a79297d396 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BuildEventStreamer.java
@@ -43,8 +43,8 @@ import java.util.logging.Logger;
public class BuildEventStreamer implements EventHandler {
private final Collection<BuildEventTransport> transports;
private Set<BuildEventId> announcedEvents;
- private Set<BuildEventId> postedEvents;
- private final Multimap<BuildEventId, BuildEvent> pendingEvents;
+ private final Set<BuildEventId> postedEvents = new HashSet<>();
+ private final Multimap<BuildEventId, BuildEvent> pendingEvents = HashMultimap.create();
private int progressCount;
private AbortReason abortReason = AbortReason.UNKNOWN;
private static final Logger log = Logger.getLogger(BuildEventStreamer.class.getName());
@@ -52,9 +52,7 @@ public class BuildEventStreamer implements EventHandler {
public BuildEventStreamer(Collection<BuildEventTransport> transports) {
this.transports = transports;
this.announcedEvents = null;
- this.postedEvents = null;
this.progressCount = 0;
- this.pendingEvents = HashMultimap.create();
}
/**
@@ -71,7 +69,6 @@ public class BuildEventStreamer implements EventHandler {
synchronized (this) {
if (announcedEvents == null) {
announcedEvents = new HashSet<>();
- postedEvents = new HashSet<>();
if (!event.getChildrenEvents().contains(ProgressEvent.INITIAL_PROGRESS_UPDATE)) {
linkEvent = ProgressEvent.progressChainIn(progressCount, event.getEventId());
progressCount++;
@@ -85,8 +82,8 @@ public class BuildEventStreamer implements EventHandler {
announcedEvents.addAll(linkEvent.getChildrenEvents());
postedEvents.add(linkEvent.getEventId());
}
- postedEvents.add(id);
}
+ postedEvents.add(id);
announcedEvents.addAll(event.getChildrenEvents());
}