[ 
https://issues.apache.org/jira/browse/FLINK-7936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16226511#comment-16226511
 ] 

Piotr Nowojski edited comment on FLINK-7936 at 10/31/17 9:36 AM:
-----------------------------------------------------------------

{{computIfAbsent}} was not used before my refactor, so I guess this issue is 
only about the code after the refactor. However {{MetricStore#add()}} is only 
used internally and additionally (because of historical reasons) in tests. 
Internal usage is protected by lock on {{MetricStore.this}} in 
{{MetricStore#addAll()}}. Thus [~tedyu] I do not see where is this bug? 


was (Author: pnowojski):
{{computIfAbsent}} was not used before my refactor, so I guess this issue is 
only about the code after the refactor. However {{MetricStore#add()}} is only 
used internally and additionally (because of historical reasons) in tests. 
Internal usage is protected by lock on {{MetricStore.this}} in 
{{MetricStore#addAll()}}. Thus [~tedyu] I do not see where the bug is? 

> Lack of synchronization w.r.t. taskManagers in MetricStore#add()
> ----------------------------------------------------------------
>
>                 Key: FLINK-7936
>                 URL: https://issues.apache.org/jira/browse/FLINK-7936
>             Project: Flink
>          Issue Type: Bug
>          Components: Metrics
>            Reporter: Ted Yu
>            Priority: Minor
>
> {code}
>           String tmID = ((QueryScopeInfo.TaskManagerQueryScopeInfo) 
> info).taskManagerID;
>           tm = taskManagers.computeIfAbsent(tmID, k -> new 
> TaskManagerMetricStore());
> {code}
> In other places, access to taskManagers is protected by lock on 
> MetricStore.this



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to