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

Enis Soztutar commented on HBASE-16257:
---------------------------------------

bq. Could you give more details on the whitelist/blacklist suggestion, Enis 
Soztutar? Thanks.
I was trying to suggest that we do a black list of sub-directories inside the 
root directory for "special permissions" other than 700, instead of a white 
list of subdirectories with permission "700". The approach we have in the patch 
seems fine. 
What happens if we create the staging dir and on the next restart we do run 
checkSubDir() methods? Will this fail because it does not match 700? 
How do we handle upgrades? In secure clusters, the root dir is already set to 
700, so the master has to open it up, but only after changing the perms for the 
subdirectories. 
I think the MasterFS should own and manage creating the staging directory as 
well, instead of the SBLM since MFS is responsible for owning the directory 
layout. 
Are these changes related? 
{code}
-    Path corruptBaseDir = new Path(FSUtils.getRootDir(conf), conf.get(
-        "hbase.hfile.quarantine.dir", HConstants.CORRUPT_DIR_NAME));
+    Path corruptBaseDir = new Path(FSUtils.getRootDir(conf), 
HConstants.CORRUPT_DIR_NAME);
{code}

Is this conf coming from the remote(sink) cluster for the HFileReplicator? 
Sorry I did not check the code. 
{code}
+    this.hbaseStagingDir = new Path(FSUtils.getRootDir(conf), 
HConstants.BULKLOAD_STAGING_DIR_NAME);
{code}

> Move staging dir to be under hbase root dir
> -------------------------------------------
>
>                 Key: HBASE-16257
>                 URL: https://issues.apache.org/jira/browse/HBASE-16257
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Jerry He
>            Assignee: Jerry He
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16257-v1.patch, HBASE-16257-v2.patch
>
>
> The hbase.bulkload.staging.dir defaults to hbase.fs.tmp.dir which then 
> defaults to
> {code}
> public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"
>       + System.getProperty("user.name") + "/hbase-staging";
> {code}
> This default would have problem on local file system standalone case.
> We can move the staging dir to be under hbase.rootdir.  We are bringing 
> secure bulkload to the core. It makes sense to bring it under core control as 
> well, instead of an optional property.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to