hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4634) "test.build.data" property overused leading to write data at the wrong place
Date Thu, 20 Oct 2011 20:25:10 GMT

    [ https://issues.apache.org/jira/browse/HBASE-4634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13131987#comment-13131987

stack commented on HBASE-4634:

Please use the same indent as the surrounding file (two spaces for a tab).

Should we deprecate '   public static final String TEST_DIRECTORY_KEY = "test.build.data";'
 so we can later change it to private or protected access?

'root' is a pretty overloaded term in these parts.  There is unix root and then there is hbase
root region and hbase.rootdir.  You are using ROOT_TEST_DIRECTORY in place of TEST_DIRECTORY.

FYI, the surrounding code has spaces between operators.  e.g. '+    if (clusterTestBuildDir==null){'
should be '+    if (clusterTestBuildDir == null) {'

Otherwise, patch is going in right direction IMO.  Good stuff.

I'm not sure what to do with the patch 20111020_4639_TestStoreFile.patch.  Is it to be applied
here or over in hbase-4639?
> "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
>         Attachments: 2011020_4634_all.patch, 20111020_4639_TestStoreFile.patch
> "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


View raw message