Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/4647#discussion_r137091495 --- Diff: flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/utils/MutableIOMetrics.java --- @@ -79,6 +85,7 @@ public void addIOMetrics(AccessExecution attempt, @Nullable MetricFetcher fetche this.numBytesOut += Long.valueOf(metrics.getMetric(MetricNames.IO_NUM_BYTES_OUT, "0")); this.numRecordsIn += Long.valueOf(metrics.getMetric(MetricNames.IO_NUM_RECORDS_IN, "0")); this.numRecordsOut += Long.valueOf(metrics.getMetric(MetricNames.IO_NUM_RECORDS_OUT, "0")); + this.metricsFetched = true; --- End diff -- luckily this is only the cause because of a bug in this class. Access to the metric store must be guarded by a synchronization block on the metric store, which would then guarantee that the update from a taskmanager is applied in a all-or-nothing fashion.
---