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.


---

Reply via email to