"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

        

Reply via email to