Github user StefanRRichter commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5959#discussion_r190165634
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/ComponentMetricGroup.java
 ---
    @@ -57,11 +57,12 @@ public ComponentMetricGroup(MetricRegistry registry, 
String[] scope, P parent) {
                if (variables == null) { // avoid synchronization for common 
case
                        synchronized (this) {
                                if (variables == null) {
    -                                   variables = new HashMap<>();
    -                                   putVariables(variables);
    +                                   Map<String, String> tmpVariables = new 
HashMap<>();
    +                                   putVariables(tmpVariables);
                                        if (parent != null) { // not true for 
Job-/TaskManagerMetricGroup
    -                                           
variables.putAll(parent.getAllVariables());
    +                                           
tmpVariables.putAll(parent.getAllVariables());
                                        }
    +                                   variables = tmpVariables;
    --- End diff --
    
    To be clear, this is not exactly about the fixed lines, but the line that 
is commented with "optimization for common case" is the remaining problem.


---

Reply via email to