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.
 Maybe BASE_TEST_DIRECTORY instead?

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

        

Mime
View raw message