> On Фев. 26, 2016, 8:03 д.п., Sid Wagle wrote:
> > ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCache.java,
> >  line 74
> > <https://reviews.apache.org/r/43955/diff/3-4/?file=1270988#file1270988line74>
> >
> >     What extra locking if using ConcurrentMap, is this necessary?

TimelineMetricHolder extends ConcurrentSkipListMap<String, 
TimelineMetricWrapper>, so it's thread-safe only for read/assign 
TimelineMetricWrapper by metric name, but not for metric values wrapped by 
TimelineMetricWrapper. Multiple threads are still allowed to get reference to 
the same TimelineMetricWrapper and simultaneously call 
TimelineMetricWrapper.putMetric() or (TimelineMetricWrapper.putMetric() + 
TimelineMetricWrapper.getTimelineMetric())


- Dmytro


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43955/#review120846
-----------------------------------------------------------


On Фев. 26, 2016, 6:55 д.п., Dmytro Sen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43955/
> -----------------------------------------------------------
> 
> (Updated Фев. 26, 2016, 6:55 д.п.)
> 
> 
> Review request for Ambari, Aravindan Vijayan and Sid Wagle.
> 
> 
> Bugs: AMBARI-15100
>     https://issues.apache.org/jira/browse/AMBARI-15100
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Reported on ambari user group:
> 
> 2016-02-16 18:04:24,510 WARN  impl.MetricsSystemImpl 
> (MetricsSystemImpl.java:run(373)) - java.util.ConcurrentModificationException
> 2016-02-16 18:04:34,509 WARN  impl.MetricsSystemImpl 
> (MetricsSystemImpl.java:run(373)) - java.util.ConcurrentModificationException
> 2016-02-16 18:04:44,510 WARN  impl.MetricsSystemImpl 
> (MetricsSystemImpl.java:run(373)) - java.util.ConcurrentModificationException
> 2016-02-16 18:04:59,424 FATAL yarn.YarnUncaughtExceptionHandler 
> (YarnUncaughtExceptionHandler.java:uncaughtException(51)) - Thread 
> Thread[timeline,5,main] threw an Error.  Shutting down now...
> java.lang.OutOfMemoryError: Java heap space
>        at java.util.HashMap.resize(HashMap.java:703)
>        at java.util.HashMap.putVal(HashMap.java:662)
>        at java.util.HashMap.put(HashMap.java:611)
>        at 
> org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache$TimelineMetricHolder.put(TimelineMetricsCache.java:123)
>        at 
> org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache.putTimelineMetric(TimelineMetricsCache.java:154)
>        at 
> org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache.putTimelineMetric(TimelineMetricsCache.java:177)
>        at 
> org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink.putMetrics(HadoopTimelineMetricsSink.java:195)
>        at 
> org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.consume(MetricsSinkAdapter.java:186)
>        at 
> org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.consume(MetricsSinkAdapter.java:43)
>        at 
> org.apache.hadoop.metrics2.impl.SinkQueue.consumeAll(SinkQueue.java:87)
>        at 
> org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.publishMetricsFromQueue(MetricsSinkAdapter.java:134)
>        at 
> org.apache.hadoop.metrics2.impl.MetricsSinkAdapter$1.run(MetricsSinkAdapter.java:88)
> 2016-02-16 18:04:59,433 INFO  util.ExitUtil (ExitUtil.java:halt(147)) - Halt 
> with status -1 Message: HaltException
> 
> 
> Diffs
> -----
> 
>   
> ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCache.java
>  15bd5f4 
>   
> ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/TimelineMetricsCacheTest.java
>  ad98525 
> 
> Diff: https://reviews.apache.org/r/43955/diff/
> 
> 
> Testing
> -------
> 
> Unit tests passed
> 
> mvn clean test
> 
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] ambari-metrics .................................... SUCCESS [0.845s]
> [INFO] Ambari Metrics Common ............................. SUCCESS [2.570s]
> [INFO] Ambari Metrics Hadoop Sink ........................ SUCCESS [4.165s]
> [INFO] Ambari Metrics Flume Sink ......................... SUCCESS [2.147s]
> [INFO] Ambari Metrics Kafka Sink ......................... SUCCESS [2.900s]
> [INFO] Ambari Metrics Storm Sink ......................... SUCCESS [0.472s]
> [INFO] Ambari Metrics Collector .......................... SUCCESS [4:40.041s]
> [INFO] Ambari Metrics Monitor ............................ SUCCESS [1.116s]
> [INFO] Ambari Metrics Grafana ............................ SUCCESS [6.003s]
> [INFO] Ambari Metrics Assembly ........................... SUCCESS [34.107s]
> 
> 
> Thanks,
> 
> Dmytro Sen
> 
>

Reply via email to