[
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)