HBASE-20870 Wrong HBase root dir in ITBLL's Search Tool

This commit is contained in:
Allan Yang 2018-07-20 11:22:03 +08:00 committed by Allan Yang
parent 37e5f5fb5f
commit 1a6fae74b5
2 changed files with 19 additions and 3 deletions

View File

@ -131,8 +131,20 @@ public class IntegrationTestingUtility extends HBaseTestingUtility {
}
public void createDistributedHBaseCluster() throws IOException {
//if it is a distributed HBase cluster, use the conf provided by classpath
//to set hbase dir and fs.defaultFS.
//Since when the super class HBaseTestingUtility initializing, it will
//change hbase.rootdir to a local test dir.
//we use "original.defaultFS" and "original.hbase.dir" to restore them.
Configuration conf = getConfiguration();
conf.set("fs.defaultFS", conf.get("original.defaultFS"));
if (conf.get("original.defaultFS") != null) {
conf.set("fs.defaultFS", conf.get("original.defaultFS"));
}
if (conf.get("original.hbase.dir") != null) {
conf.set(HConstants.HBASE_DIR, conf.get("original.hbase.dir"));
}
LOG.debug("Setting {} to {} since it is a distributed cluster",
HConstants.HBASE_DIR, conf.get(HConstants.HBASE_DIR));
Class<? extends ClusterManager> clusterManagerClass = conf.getClass(HBASE_CLUSTER_MANAGER_CLASS,
DEFAULT_HBASE_CLUSTER_MANAGER_CLASS, ClusterManager.class);
ClusterManager clusterManager = ReflectionUtils.newInstance(

View File

@ -333,8 +333,12 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
ChecksumUtil.generateExceptionForChecksumFailureForTest(true);
// Save this for when setting default file:// breaks things
this.conf.set("original.defaultFS", this.conf.get("fs.defaultFS"));
if (this.conf.get("fs.defaultFS") != null) {
this.conf.set("original.defaultFS", this.conf.get("fs.defaultFS"));
}
if (this.conf.get(HConstants.HBASE_DIR) != null) {
this.conf.set("original.hbase.dir", this.conf.get(HConstants.HBASE_DIR));
}
// Every cluster is a local cluster until we start DFS
// Note that conf could be null, but this.conf will not be
String dataTestDir = getDataTestDir().toString();