In the TestTableMapReduce test, I ended up doing something along the lines of:
job = new Job(table.getConfiguration(), "process column contents");
to get around the clientprovider issue which seemed to have the test run successfully but I could not completely verify as there are no logs generated even though the hbase/hadoop log levels are set to debug. However, the above is in any case not the correct solution.
When submitting a job to a cluster, the assumption would be to use the relevant client-side aspects of the cluster's configuration. However in the hbase test, what is happening is that the job and htable objects are being initialized via HbaseTestingUtility.getConfiguration(). The test framework encapsulates the dfs/mr clusters but currently it does set internal configs like the jobtracker address for the test to work. It would need to change to probably use the new cluster factory created as part of
MAPREDUCE-3169 to switch between mr1/mr2 and also likely set some config values if the job configs are not initialized using the mrCluster's configuration ( such as jobtracker address for MR1 and for MR2, yarn's resource/node mgr addresses in addition to the framework name being set to yarn).