Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Seen in JT std out:
Exception in thread "Timer-0" java.lang.NullPointerException
at com.yahoo.simon.hadoop.metrics.Client.computeBlurbSize(Unknown Source)
at com.yahoo.simon.hadoop.metrics.Client.sendBlurb(Unknown Source)
at com.yahoo.simon.hadoop.metrics.SimonContext.emitRecord(Unknown Source)
at org.apache.hadoop.metrics.spi.AbstractMetricsContext.timerEvent(AbstractMetricsContext.java:295)
at org.apache.hadoop.metrics.spi.AbstractMetricsContext.access$000(AbstractMetricsContext.java:48)
at org.apache.hadoop.metrics.spi.AbstractMetricsContext$1.run(AbstractMetricsContext.java:242)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
There are (at least) two bugs:
(1) o.a.h.metrics.MetricsRecord.setTag(String name, String value) will
cause this problem to happen (later) if value==null. It should treat a
null value as equivalent to an empty string.
(2) o.a.h.mapred.Counters.getGroupNames returns a collection which may
be getting updated concurrently. It needs to make a copy.