Details
Description
Hadoop2 MR tests fail occasionally with output like this:
-------------------------------------------------------------------------------
Test set: org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan1
-------------------------------------------------------------------------------
Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed: 347.57 sec <<< FAILURE!
testScanEmptyToAPP(org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan1) Time elapsed: 50.047 sec <<< ERROR!
java.io.IOException: java.net.ConnectException: Call From liushaohui-OptiPlex-990/127.0.0.1 to 0.0.0.0:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at org.apache.hadoop.mapred.ClientServiceDelegate.invoke(ClientServiceDelegate.java:334)
at org.apache.hadoop.mapred.ClientServiceDelegate.getJobStatus(ClientServiceDelegate.java:419)
at org.apache.hadoop.mapred.YARNRunner.getJobStatus(YARNRunner.java:524)
at org.apache.hadoop.mapreduce.Job$1.run(Job.java:314)
at org.apache.hadoop.mapreduce.Job$1.run(Job.java:311)
at java.security.AccessController.doPrivileged(Native Method)
...
The reason is that when MR job was running, the job client pulled the job status from AppMaster. When the job is completed, the AppMaster will exit. At this time, if the job client have not got the job completed event from AppMaster, it will switch to get job report from history server.
But in HBaseTestingUtility#startMiniMapReduceCluster, the config: mapreduce.jobhistory.address is not copied to TestUtil's config.
CRUNCH-249 reported the same problem.