Repository: hbase Updated Branches: refs/heads/branch-2.1 8461e8588 -> 679698a7f
HBASE-20870 Wrong HBase root dir in ITBLL's Search Tool Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/679698a7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/679698a7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/679698a7 Branch: refs/heads/branch-2.1 Commit: 679698a7f29f566c47724be03f35694059abebee Parents: 8461e85 Author: Allan Yang <allan...@apache.org> Authored: Fri Jul 20 11:30:43 2018 +0800 Committer: Allan Yang <allan...@163.com> Committed: Fri Jul 20 11:31:21 2018 +0800 ---------------------------------------------------------------------- .../hadoop/hbase/IntegrationTestingUtility.java | 14 +++++++++++++- .../org/apache/hadoop/hbase/HBaseTestingUtility.java | 8 ++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/679698a7/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java ---------------------------------------------------------------------- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java index a1a81ed..a9e555e 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java @@ -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( http://git-wip-us.apache.org/repos/asf/hbase/blob/679698a7/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index c99d919..03d5d76 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -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();