When our first customer started using the Job History web services today the History Server ground to a halt. We found 250 Jetty threads stuck on the following stack trace.
java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.hadoop.mapreduce.v2.hs.JobHistory.getJob(JobHistory.java:898) - waiting to lock <0x00002aaab364ba60> (a org.apache.hadoop.mapreduce.v2.hs.JobHistory) at org.apache.hadoop.mapreduce.v2.hs.webapp.HsWebServices.getJobs(HsWebServices.java:188)
HsWebServices.java:188 corresponds to the /mapreduce/jobs service.
Looking at the code there are a number of optimizations that need to be done to improve its performance.
- depends upon
MAPREDUCE-3954 Clean up passing HEAPSIZE to yarn and mapred commands.