hbase-issues mailing list archives

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

     [ https://issues.apache.org/jira/browse/HBASE-4634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

nkeywal updated HBASE-4634:
---------------------------

    Attachment: 20111020_4639_TestStoreFile.patch
                2011020_4634_all.patch

The fix, currently under testing on the trunk. I attach right now to get comments sooner,
at it impacts multiple files.

The function to get the test directory is not static anymore, that's why many files are impacted.

It's cleaner, and will facilitate running the tests in the same JVM a day.

TestStoreFile includes the fix for HBASE-4639, there is an overlap here.
                
> "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