[
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