Description
In the webhcat e2e testsuite we have two MR job submission tests
TestMapReduce_1 (in jobsubmission.conf) runs the hadoop "wordcount" example. Intention of this one is to test MR job submission using WebHCat.
TestHeartbeat_2 (in jobsubmission2.conf) runs the hadoop "sleep" example. Intention of this one is to test a long running (>10min) WebHCat MR job, see HIVE-4808.
In Hadoop 1, both of these example MR applications are packaged in hadoop-examples.jar
In Hadoop 2, "sleep" job is bundled in hadoop-mapreduce-client-jobclient.jar and "wordcount" is bundled in hadoop-mapreduce-examples.jar
Currently the webhcat tests assume that both these MR applications are in one jar that we copy as hexamples.jar.
To run these against Hadoop 2 I can think of three simple solutions:
(1) Stick with one jar and run "sleep" application in the TestMapReduce_1 test as well.
(2) Eliminate the test TestMapReduce_1 as TestHeartbeat_2 runs a MR job as well.
(3) Require two different jars for Hadoop 2 and call them hclient.jar (containing "sleep" application) and hexamples.jar (containing "wordcount" application). For Hadoop 1, we would make two copies of the same hadoop-examples.jar application and call them hsleep.jar and examples.jar.
The three approaches mentioned here would require least of changes. My inclination is towards (2).
Let me know what you think and I can provide the patch.