"test.build.data" property overused leading to write data at the wrong place
----------------------------------------------------------------------------
Key: HBASE-4634
URL: https://issues.apache.org/jira/browse/HBASE-4634
Project: HBase
Issue Type: Bug
Components: test
Affects Versions: 0.92.0
Environment: all
Reporter: nkeywal
Assignee: nkeywal
"test.build.data" is overloaded in HBase.At the beginning, it's the "Default
parent directory for test output.", but then it's rewritten to be the directory
itself in functions like HBaseTestingUtility#startMiniDFSCluster
It seems that this value is already used by MiniDFS (i.e. outside of HBase):
"Name is as it is because mini dfs has hard-codings to put test data here."
As it is today, there is at least a bug in HBaseTestingUtility:
{noformat}
public void initTestDir() {
if (System.getProperty(TEST_DIRECTORY_KEY) == null) {
clusterTestBuildDir = setupClusterTestBuildDir();
System.setProperty(TEST_DIRECTORY_KEY, clusterTestBuildDir.getPath());
}
}
{noformat}
if you set a value for "test.build.data", the test dir will be the parent
directory and not a temp subdir, leading to issues as multiple tests will
end-ups in the same (bad) directory. This function is barely used today, hence
it's not visible, but I would like to use it in some new code.
A possible fix is to remove the check for null and continue with the
overloading, but I don't think it would be a big issue to create a new key(like
"test.build.data.rootdirectory") specific to the root directory and to use
"test.build.data" only to communicate with MiniDFS. Feedback welcome.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira