diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainerMetrics.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainerMetrics.java index 48128c1..b39da33 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainerMetrics.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainerMetrics.java @@ -180,9 +180,11 @@ synchronized static ContainerMetrics forContainer( return metrics; } - synchronized static void unregisterContainerMetrics(ContainerMetrics cm) { + static void unregisterContainerMetrics(ContainerMetrics cm) { cm.metricsSystem.unregisterSource(cm.recordInfo.name()); - usageMetrics.remove(cm.containerId); + synchronized (ContainerMetrics.class) { + usageMetrics.remove(cm.containerId); + } } @Override -- 1.9.2.msysgit.0