HBASE-6830. [WINDOWS] Tests should not rely on local temp dir to be available in DFS
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1410659 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4cdaf84ef8
commit
4aeeda4377
|
@ -140,12 +140,16 @@ public class HBaseTestingUtility {
|
||||||
|
|
||||||
private String hadoopLogDir;
|
private String hadoopLogDir;
|
||||||
|
|
||||||
// Directory where we put the data for this instance of HBaseTestingUtility.
|
/** Directory where we put the data for this instance of HBaseTestingUtility*/
|
||||||
private File dataTestDir = null;
|
private File dataTestDir = null;
|
||||||
|
|
||||||
// Directory (a subdirectory of dataTestDir) used by the dfs cluster if any
|
/** Directory (a subdirectory of dataTestDir) used by the dfs cluster if any */
|
||||||
private File clusterTestDir = null;
|
private File clusterTestDir = null;
|
||||||
|
|
||||||
|
/** Directory on test filesystem where we put the data for this instance of
|
||||||
|
* HBaseTestingUtility*/
|
||||||
|
private Path dataTestDirOnTestFS = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* System property key to get test directory value.
|
* System property key to get test directory value.
|
||||||
* Name is as it is because mini dfs has hard-codings to put test data here.
|
* Name is as it is because mini dfs has hard-codings to put test data here.
|
||||||
|
@ -254,6 +258,17 @@ public class HBaseTestingUtility {
|
||||||
return new Path(PathName);
|
return new Path(PathName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Where to write test data on the test filesystem; Returns working directory
|
||||||
|
* for the test filesytem by default
|
||||||
|
* @see #setupDataTestDirOnTestFS()
|
||||||
|
* @see #getTestFileSystem()
|
||||||
|
*/
|
||||||
|
private Path getBaseTestDirOnTestFS() throws IOException {
|
||||||
|
FileSystem fs = getTestFileSystem();
|
||||||
|
return new Path(fs.getWorkingDirectory(), "test-data");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Where to write test data on local filesystem, specific to
|
* @return Where to write test data on local filesystem, specific to
|
||||||
* the test. Useful for tests that do not use a cluster.
|
* the test. Useful for tests that do not use a cluster.
|
||||||
|
@ -307,6 +322,31 @@ public class HBaseTestingUtility {
|
||||||
return new Path(getDataTestDir(), subdirName);
|
return new Path(getDataTestDir(), subdirName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a Path in the test filesystem, obtained from {@link #getTestFileSystem()}
|
||||||
|
* to write temporary test data. Call this method after setting up the mini dfs cluster
|
||||||
|
* if the test relies on it.
|
||||||
|
* @return a unique path in the test filesystem
|
||||||
|
*/
|
||||||
|
public Path getDataTestDirOnTestFS() throws IOException {
|
||||||
|
if (dataTestDirOnTestFS == null) {
|
||||||
|
setupDataTestDirOnTestFS();
|
||||||
|
}
|
||||||
|
|
||||||
|
return dataTestDirOnTestFS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a Path in the test filesystem, obtained from {@link #getTestFileSystem()}
|
||||||
|
* to write temporary test data. Call this method after setting up the mini dfs cluster
|
||||||
|
* if the test relies on it.
|
||||||
|
* @return a unique path in the test filesystem
|
||||||
|
* @param subdirName name of the subdir to create under the base test dir
|
||||||
|
*/
|
||||||
|
public Path getDataTestDirOnTestFS(final String subdirName) throws IOException {
|
||||||
|
return new Path(getDataTestDirOnTestFS(), subdirName);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Home our data in a dir under {@link #DEFAULT_BASE_TEST_DIRECTORY}.
|
* Home our data in a dir under {@link #DEFAULT_BASE_TEST_DIRECTORY}.
|
||||||
* Give it a random name so can have many concurrent tests running if
|
* Give it a random name so can have many concurrent tests running if
|
||||||
|
@ -350,10 +390,6 @@ public class HBaseTestingUtility {
|
||||||
createSubDir(
|
createSubDir(
|
||||||
"mapred.local.dir",
|
"mapred.local.dir",
|
||||||
testPath, "mapred-local-dir");
|
testPath, "mapred-local-dir");
|
||||||
|
|
||||||
createSubDirAndSystemProperty(
|
|
||||||
"mapred.working.dir",
|
|
||||||
testPath, "mapred-working-dir");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createSubDir(String propertyName, Path parent, String subDirName){
|
private void createSubDir(String propertyName, Path parent, String subDirName){
|
||||||
|
@ -389,6 +425,34 @@ public class HBaseTestingUtility {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up a path in test filesystem to be used by tests
|
||||||
|
*/
|
||||||
|
private void setupDataTestDirOnTestFS() throws IOException {
|
||||||
|
if (dataTestDirOnTestFS != null) {
|
||||||
|
LOG.warn("Data test on test fs dir already setup in "
|
||||||
|
+ dataTestDirOnTestFS.toString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//The file system can be either local, mini dfs, or if the configuration
|
||||||
|
//is supplied externally, it can be an external cluster FS. If it is a local
|
||||||
|
//file system, the tests should use getBaseTestDir, otherwise, we can use
|
||||||
|
//the working directory, and create a unique sub dir there
|
||||||
|
FileSystem fs = getTestFileSystem();
|
||||||
|
if (fs.getUri().getScheme().equals(fs.getLocal(conf).getUri().getScheme())) {
|
||||||
|
if (dataTestDir == null) {
|
||||||
|
setupDataTestDir();
|
||||||
|
}
|
||||||
|
dataTestDirOnTestFS = new Path(dataTestDir.getAbsolutePath());
|
||||||
|
} else {
|
||||||
|
Path base = getBaseTestDirOnTestFS();
|
||||||
|
String randomStr = UUID.randomUUID().toString();
|
||||||
|
dataTestDirOnTestFS = new Path(base, randomStr);
|
||||||
|
fs.deleteOnExit(dataTestDirOnTestFS);
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Start a minidfscluster.
|
* Start a minidfscluster.
|
||||||
* @param servers How many DNs to start.
|
* @param servers How many DNs to start.
|
||||||
|
@ -444,6 +508,9 @@ public class HBaseTestingUtility {
|
||||||
// Wait for the cluster to be totally up
|
// Wait for the cluster to be totally up
|
||||||
this.dfsCluster.waitClusterUp();
|
this.dfsCluster.waitClusterUp();
|
||||||
|
|
||||||
|
//reset the test directory for test file system
|
||||||
|
dataTestDirOnTestFS = null;
|
||||||
|
|
||||||
return this.dfsCluster;
|
return this.dfsCluster;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,6 +530,9 @@ public class HBaseTestingUtility {
|
||||||
// Wait for the cluster to be totally up
|
// Wait for the cluster to be totally up
|
||||||
this.dfsCluster.waitClusterUp();
|
this.dfsCluster.waitClusterUp();
|
||||||
|
|
||||||
|
//reset the test directory for test file system
|
||||||
|
dataTestDirOnTestFS = null;
|
||||||
|
|
||||||
return this.dfsCluster;
|
return this.dfsCluster;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -474,18 +544,23 @@ public class HBaseTestingUtility {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This is used before starting HDFS and map-reduce mini-clusters */
|
/** This is used before starting HDFS and map-reduce mini-clusters */
|
||||||
private void createDirsAndSetProperties() {
|
private void createDirsAndSetProperties() throws IOException {
|
||||||
setupClusterTestDir();
|
setupClusterTestDir();
|
||||||
System.setProperty(TEST_DIRECTORY_KEY, clusterTestDir.getPath());
|
System.setProperty(TEST_DIRECTORY_KEY, clusterTestDir.getPath());
|
||||||
createDirAndSetProperty("cache_data", "test.cache.data");
|
createDirAndSetProperty("cache_data", "test.cache.data");
|
||||||
createDirAndSetProperty("hadoop_tmp", "hadoop.tmp.dir");
|
createDirAndSetProperty("hadoop_tmp", "hadoop.tmp.dir");
|
||||||
hadoopLogDir = createDirAndSetProperty("hadoop_logs", "hadoop.log.dir");
|
hadoopLogDir = createDirAndSetProperty("hadoop_logs", "hadoop.log.dir");
|
||||||
createDirAndSetProperty("mapred_output", MapreduceTestingShim.getMROutputDirProp());
|
|
||||||
createDirAndSetProperty("mapred_local", "mapred.local.dir");
|
createDirAndSetProperty("mapred_local", "mapred.local.dir");
|
||||||
createDirAndSetProperty("mapred_system", "mapred.system.dir");
|
|
||||||
createDirAndSetProperty("mapred_temp", "mapred.temp.dir");
|
createDirAndSetProperty("mapred_temp", "mapred.temp.dir");
|
||||||
enableShortCircuit();
|
enableShortCircuit();
|
||||||
|
|
||||||
|
Path root = getDataTestDirOnTestFS("hadoop");
|
||||||
|
conf.set(MapreduceTestingShim.getMROutputDirProp(),
|
||||||
|
new Path(root, "mapred-output-dir").toString());
|
||||||
|
conf.set("mapred.system.dir", new Path(root, "mapred-system-dir").toString());
|
||||||
|
conf.set("mapreduce.jobtracker.staging.root.dir",
|
||||||
|
new Path(root, "mapreduce-jobtracker-staging-root-dir").toString());
|
||||||
|
conf.set("mapred.working.dir", new Path(root, "mapred-working-dir").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -523,7 +598,7 @@ public class HBaseTestingUtility {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String createDirAndSetProperty(final String relPath, String property) {
|
private String createDirAndSetProperty(final String relPath, String property) {
|
||||||
String path = clusterTestDir.getPath() + "/" + relPath;
|
String path = getDataTestDir(relPath).toString();
|
||||||
System.setProperty(property, path);
|
System.setProperty(property, path);
|
||||||
conf.set(property, path);
|
conf.set(property, path);
|
||||||
new File(path).mkdirs();
|
new File(path).mkdirs();
|
||||||
|
@ -541,6 +616,9 @@ public class HBaseTestingUtility {
|
||||||
// The below throws an exception per dn, AsynchronousCloseException.
|
// The below throws an exception per dn, AsynchronousCloseException.
|
||||||
this.dfsCluster.shutdown();
|
this.dfsCluster.shutdown();
|
||||||
dfsCluster = null;
|
dfsCluster = null;
|
||||||
|
dataTestDirOnTestFS = null;
|
||||||
|
this.conf.set("fs.defaultFS", "file:///");
|
||||||
|
this.conf.set("fs.default.name", "file:///");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1483,7 +1561,8 @@ public class HBaseTestingUtility {
|
||||||
|
|
||||||
// Allow the user to override FS URI for this map-reduce cluster to use.
|
// Allow the user to override FS URI for this map-reduce cluster to use.
|
||||||
mrCluster = new MiniMRCluster(servers,
|
mrCluster = new MiniMRCluster(servers,
|
||||||
FS_URI != null ? FS_URI : FileSystem.get(conf).getUri().toString(), 1);
|
FS_URI != null ? FS_URI : FileSystem.get(conf).getUri().toString(), 1,
|
||||||
|
null, null, new JobConf(this.conf));
|
||||||
JobConf jobConf = MapreduceTestingShim.getJobConf(mrCluster);
|
JobConf jobConf = MapreduceTestingShim.getJobConf(mrCluster);
|
||||||
if (jobConf == null) {
|
if (jobConf == null) {
|
||||||
jobConf = mrCluster.createJobConf();
|
jobConf = mrCluster.createJobConf();
|
||||||
|
|
|
@ -465,7 +465,7 @@ public class TestRegionObserverInterface {
|
||||||
);
|
);
|
||||||
|
|
||||||
FileSystem fs = util.getTestFileSystem();
|
FileSystem fs = util.getTestFileSystem();
|
||||||
final Path dir = util.getDataTestDir(testName).makeQualified(fs);
|
final Path dir = util.getDataTestDirOnTestFS(testName).makeQualified(fs);
|
||||||
Path familyDir = new Path(dir, Bytes.toString(A));
|
Path familyDir = new Path(dir, Bytes.toString(A));
|
||||||
|
|
||||||
createHFile(util.getConfiguration(), fs, new Path(familyDir,Bytes.toString(A)), A, A);
|
createHFile(util.getConfiguration(), fs, new Path(familyDir,Bytes.toString(A)), A, A);
|
||||||
|
|
|
@ -288,7 +288,7 @@ public class TestHFileOutputFormat {
|
||||||
@Test
|
@Test
|
||||||
public void testWritingPEData() throws Exception {
|
public void testWritingPEData() throws Exception {
|
||||||
Configuration conf = util.getConfiguration();
|
Configuration conf = util.getConfiguration();
|
||||||
Path testDir = util.getDataTestDir("testWritingPEData");
|
Path testDir = util.getDataTestDirOnTestFS("testWritingPEData");
|
||||||
FileSystem fs = testDir.getFileSystem(conf);
|
FileSystem fs = testDir.getFileSystem(conf);
|
||||||
|
|
||||||
// Set down this value or we OOME in eclipse.
|
// Set down this value or we OOME in eclipse.
|
||||||
|
@ -357,11 +357,11 @@ public class TestHFileOutputFormat {
|
||||||
boolean shouldChangeRegions) throws Exception {
|
boolean shouldChangeRegions) throws Exception {
|
||||||
util = new HBaseTestingUtility();
|
util = new HBaseTestingUtility();
|
||||||
Configuration conf = util.getConfiguration();
|
Configuration conf = util.getConfiguration();
|
||||||
Path testDir = util.getDataTestDir("testLocalMRIncrementalLoad");
|
|
||||||
byte[][] startKeys = generateRandomStartKeys(5);
|
byte[][] startKeys = generateRandomStartKeys(5);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
util.startMiniCluster();
|
util.startMiniCluster();
|
||||||
|
Path testDir = util.getDataTestDirOnTestFS("testLocalMRIncrementalLoad");
|
||||||
HBaseAdmin admin = new HBaseAdmin(conf);
|
HBaseAdmin admin = new HBaseAdmin(conf);
|
||||||
HTable table = util.createTable(TABLE_NAME, FAMILIES);
|
HTable table = util.createTable(TABLE_NAME, FAMILIES);
|
||||||
assertEquals("Should start with empty table",
|
assertEquals("Should start with empty table",
|
||||||
|
@ -449,7 +449,7 @@ public class TestHFileOutputFormat {
|
||||||
Configuration conf, HTable table, Path outDir)
|
Configuration conf, HTable table, Path outDir)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
Job job = new Job(conf, "testLocalMRIncrementalLoad");
|
Job job = new Job(conf, "testLocalMRIncrementalLoad");
|
||||||
job.setWorkingDirectory(util.getDataTestDir("runIncrementalPELoad"));
|
job.setWorkingDirectory(util.getDataTestDirOnTestFS("runIncrementalPELoad"));
|
||||||
setupRandomGeneratorMapper(job);
|
setupRandomGeneratorMapper(job);
|
||||||
HFileOutputFormat.configureIncrementalLoad(job, table);
|
HFileOutputFormat.configureIncrementalLoad(job, table);
|
||||||
FileOutputFormat.setOutputPath(job, outDir);
|
FileOutputFormat.setOutputPath(job, outDir);
|
||||||
|
@ -546,7 +546,7 @@ public class TestHFileOutputFormat {
|
||||||
RecordWriter<ImmutableBytesWritable, KeyValue> writer = null;
|
RecordWriter<ImmutableBytesWritable, KeyValue> writer = null;
|
||||||
TaskAttemptContext context = null;
|
TaskAttemptContext context = null;
|
||||||
Path dir =
|
Path dir =
|
||||||
util.getDataTestDir("testColumnFamilyCompression");
|
util.getDataTestDirOnTestFS("testColumnFamilyCompression");
|
||||||
|
|
||||||
HTable table = Mockito.mock(HTable.class);
|
HTable table = Mockito.mock(HTable.class);
|
||||||
|
|
||||||
|
@ -570,7 +570,7 @@ public class TestHFileOutputFormat {
|
||||||
// pollutes the GZip codec pool with an incompatible compressor.
|
// pollutes the GZip codec pool with an incompatible compressor.
|
||||||
conf.set("io.seqfile.compression.type", "NONE");
|
conf.set("io.seqfile.compression.type", "NONE");
|
||||||
Job job = new Job(conf, "testLocalMRIncrementalLoad");
|
Job job = new Job(conf, "testLocalMRIncrementalLoad");
|
||||||
job.setWorkingDirectory(util.getDataTestDir("testColumnFamilyCompression"));
|
job.setWorkingDirectory(util.getDataTestDirOnTestFS("testColumnFamilyCompression"));
|
||||||
setupRandomGeneratorMapper(job);
|
setupRandomGeneratorMapper(job);
|
||||||
HFileOutputFormat.configureIncrementalLoad(job, table);
|
HFileOutputFormat.configureIncrementalLoad(job, table);
|
||||||
FileOutputFormat.setOutputPath(job, dir);
|
FileOutputFormat.setOutputPath(job, dir);
|
||||||
|
@ -703,7 +703,7 @@ public class TestHFileOutputFormat {
|
||||||
util.startMiniMapReduceCluster();
|
util.startMiniMapReduceCluster();
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Path testDir = util.getDataTestDir("testExcludeAllFromMinorCompaction_" + i);
|
Path testDir = util.getDataTestDirOnTestFS("testExcludeAllFromMinorCompaction_" + i);
|
||||||
runIncrementalPELoad(conf, table, testDir);
|
runIncrementalPELoad(conf, table, testDir);
|
||||||
// Perform the actual load
|
// Perform the actual load
|
||||||
new LoadIncrementalHFiles(conf).doBulkLoad(testDir, table);
|
new LoadIncrementalHFiles(conf).doBulkLoad(testDir, table);
|
||||||
|
@ -748,11 +748,11 @@ public class TestHFileOutputFormat {
|
||||||
public void testExcludeMinorCompaction() throws Exception {
|
public void testExcludeMinorCompaction() throws Exception {
|
||||||
Configuration conf = util.getConfiguration();
|
Configuration conf = util.getConfiguration();
|
||||||
conf.setInt("hbase.hstore.compaction.min", 2);
|
conf.setInt("hbase.hstore.compaction.min", 2);
|
||||||
Path testDir = util.getDataTestDir("testExcludeMinorCompaction");
|
|
||||||
generateRandomStartKeys(5);
|
generateRandomStartKeys(5);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
util.startMiniCluster();
|
util.startMiniCluster();
|
||||||
|
Path testDir = util.getDataTestDirOnTestFS("testExcludeMinorCompaction");
|
||||||
final FileSystem fs = util.getDFSCluster().getFileSystem();
|
final FileSystem fs = util.getDFSCluster().getFileSystem();
|
||||||
HBaseAdmin admin = new HBaseAdmin(conf);
|
HBaseAdmin admin = new HBaseAdmin(conf);
|
||||||
HTable table = util.createTable(TABLE_NAME, FAMILIES);
|
HTable table = util.createTable(TABLE_NAME, FAMILIES);
|
||||||
|
|
|
@ -126,7 +126,7 @@ public class TestLoadIncrementalHFiles {
|
||||||
|
|
||||||
private void runTest(String testName, BloomType bloomType,
|
private void runTest(String testName, BloomType bloomType,
|
||||||
byte[][][] hfileRanges) throws Exception {
|
byte[][][] hfileRanges) throws Exception {
|
||||||
Path dir = util.getDataTestDir(testName);
|
Path dir = util.getDataTestDirOnTestFS(testName);
|
||||||
FileSystem fs = util.getTestFileSystem();
|
FileSystem fs = util.getTestFileSystem();
|
||||||
dir = dir.makeQualified(fs);
|
dir = dir.makeQualified(fs);
|
||||||
Path familyDir = new Path(dir, Bytes.toString(FAMILY));
|
Path familyDir = new Path(dir, Bytes.toString(FAMILY));
|
||||||
|
@ -209,7 +209,7 @@ public class TestLoadIncrementalHFiles {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSplitStoreFile() throws IOException {
|
public void testSplitStoreFile() throws IOException {
|
||||||
Path dir = util.getDataTestDir("testSplitHFile");
|
Path dir = util.getDataTestDirOnTestFS("testSplitHFile");
|
||||||
FileSystem fs = util.getTestFileSystem();
|
FileSystem fs = util.getTestFileSystem();
|
||||||
Path testIn = new Path(dir, "testhfile");
|
Path testIn = new Path(dir, "testhfile");
|
||||||
HColumnDescriptor familyDesc = new HColumnDescriptor(FAMILY);
|
HColumnDescriptor familyDesc = new HColumnDescriptor(FAMILY);
|
||||||
|
|
|
@ -126,7 +126,7 @@ public class TestLoadIncrementalHFilesSplitRecovery {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Path buildBulkFiles(String table, int value) throws Exception {
|
private Path buildBulkFiles(String table, int value) throws Exception {
|
||||||
Path dir = util.getDataTestDir(table);
|
Path dir = util.getDataTestDirOnTestFS(table);
|
||||||
Path bulk1 = new Path(dir, table+value);
|
Path bulk1 = new Path(dir, table+value);
|
||||||
FileSystem fs = util.getTestFileSystem();
|
FileSystem fs = util.getTestFileSystem();
|
||||||
buildHFiles(fs, bulk1, value);
|
buildHFiles(fs, bulk1, value);
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class TestHFileCleaner {
|
||||||
@Test
|
@Test
|
||||||
public void testTTLCleaner() throws IOException, InterruptedException {
|
public void testTTLCleaner() throws IOException, InterruptedException {
|
||||||
FileSystem fs = UTIL.getDFSCluster().getFileSystem();
|
FileSystem fs = UTIL.getDFSCluster().getFileSystem();
|
||||||
Path root = UTIL.getDataTestDir();
|
Path root = UTIL.getDataTestDirOnTestFS();
|
||||||
Path file = new Path(root, "file");
|
Path file = new Path(root, "file");
|
||||||
fs.createNewFile(file);
|
fs.createNewFile(file);
|
||||||
long createTime = System.currentTimeMillis();
|
long createTime = System.currentTimeMillis();
|
||||||
|
@ -99,7 +99,7 @@ public class TestHFileCleaner {
|
||||||
"org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner");
|
"org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner");
|
||||||
conf.setLong(TimeToLiveHFileCleaner.TTL_CONF_KEY, ttl);
|
conf.setLong(TimeToLiveHFileCleaner.TTL_CONF_KEY, ttl);
|
||||||
Server server = new DummyServer();
|
Server server = new DummyServer();
|
||||||
Path archivedHfileDir = new Path(UTIL.getDataTestDir(), HConstants.HFILE_ARCHIVE_DIRECTORY);
|
Path archivedHfileDir = new Path(UTIL.getDataTestDirOnTestFS(), HConstants.HFILE_ARCHIVE_DIRECTORY);
|
||||||
FileSystem fs = FileSystem.get(conf);
|
FileSystem fs = FileSystem.get(conf);
|
||||||
HFileCleaner cleaner = new HFileCleaner(1000, server, conf, fs, archivedHfileDir);
|
HFileCleaner cleaner = new HFileCleaner(1000, server, conf, fs, archivedHfileDir);
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ public class TestHFileCleaner {
|
||||||
// no cleaner policies = delete all files
|
// no cleaner policies = delete all files
|
||||||
conf.setStrings(HFileCleaner.MASTER_HFILE_CLEANER_PLUGINS, "");
|
conf.setStrings(HFileCleaner.MASTER_HFILE_CLEANER_PLUGINS, "");
|
||||||
Server server = new DummyServer();
|
Server server = new DummyServer();
|
||||||
Path archivedHfileDir = new Path(UTIL.getDataTestDir(), HConstants.HFILE_ARCHIVE_DIRECTORY);
|
Path archivedHfileDir = new Path(UTIL.getDataTestDirOnTestFS(), HConstants.HFILE_ARCHIVE_DIRECTORY);
|
||||||
|
|
||||||
// setup the cleaner
|
// setup the cleaner
|
||||||
FileSystem fs = UTIL.getDFSCluster().getFileSystem();
|
FileSystem fs = UTIL.getDFSCluster().getFileSystem();
|
||||||
|
@ -236,4 +236,4 @@ public class TestHFileCleaner {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ public class TestHRegionServerBulkLoad {
|
||||||
/**
|
/**
|
||||||
* Thread that does full scans of the table looking for any partially
|
* Thread that does full scans of the table looking for any partially
|
||||||
* completed rows.
|
* completed rows.
|
||||||
*
|
*
|
||||||
* Each iteration of this loads 10 hdfs files, which occupies 5 file open file
|
* Each iteration of this loads 10 hdfs files, which occupies 5 file open file
|
||||||
* handles. So every 10 iterations (500 file handles) it does a region
|
* handles. So every 10 iterations (500 file handles) it does a region
|
||||||
* compaction to reduce the number of open file handles.
|
* compaction to reduce the number of open file handles.
|
||||||
|
@ -124,7 +124,7 @@ public class TestHRegionServerBulkLoad {
|
||||||
|
|
||||||
public void doAnAction() throws Exception {
|
public void doAnAction() throws Exception {
|
||||||
long iteration = numBulkLoads.getAndIncrement();
|
long iteration = numBulkLoads.getAndIncrement();
|
||||||
Path dir = UTIL.getDataTestDir(String.format("bulkLoad_%08d",
|
Path dir = UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
|
||||||
iteration));
|
iteration));
|
||||||
|
|
||||||
// create HFiles for different column families
|
// create HFiles for different column families
|
||||||
|
|
|
@ -403,7 +403,7 @@ public class TestHLog {
|
||||||
try {
|
try {
|
||||||
DistributedFileSystem dfs = (DistributedFileSystem) cluster.getFileSystem();
|
DistributedFileSystem dfs = (DistributedFileSystem) cluster.getFileSystem();
|
||||||
dfs.setSafeMode(FSConstants.SafeModeAction.SAFEMODE_ENTER);
|
dfs.setSafeMode(FSConstants.SafeModeAction.SAFEMODE_ENTER);
|
||||||
cluster.shutdown();
|
TEST_UTIL.shutdownMiniDFSCluster();
|
||||||
try {
|
try {
|
||||||
// wal.writer.close() will throw an exception,
|
// wal.writer.close() will throw an exception,
|
||||||
// but still call this since it closes the LogSyncer thread first
|
// but still call this since it closes the LogSyncer thread first
|
||||||
|
|
Loading…
Reference in New Issue