diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateSampler.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateSampler.java index 61b7e01e49a0f..1ff9a9be40d3c 100644 --- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateSampler.java +++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateSampler.java @@ -118,13 +118,10 @@ public Optional getActiveMessageMetadataForWorkId(String } public Map getProcessingDistributionsForWorkId(String workId) { - if (!activeTrackersByWorkId.containsKey(workId)) { - if (completedProcessingMetrics.containsKey(workId)) { - return completedProcessingMetrics.get(workId); - } - return new HashMap<>(); - } DataflowExecutionStateTracker tracker = activeTrackersByWorkId.get(workId); + if (tracker == null) { + return completedProcessingMetrics.getOrDefault(workId, new HashMap<>()); + } return mergeStepStatsMaps( completedProcessingMetrics.getOrDefault(workId, new HashMap<>()), tracker.getProcessingTimesByStepCopy());