[
https://issues.apache.org/jira/browse/HDFS-16816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17627402#comment-17627402
]
ASF GitHub Bot commented on HDFS-16816:
---------------------------------------
virajith commented on code in PR #5071:
URL: https://github.com/apache/hadoop/pull/5071#discussion_r1011042738
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterClientProtocol.java:
##########
@@ -734,6 +811,13 @@ public boolean mkdirs(String src, FsPermission masked,
boolean createParent)
new Class<?>[] {String.class, FsPermission.class, boolean.class},
new RemoteParam(), masked, createParent);
+ // Auto-create user home dir for a trash path.
+ // moveToTrash() will first call fs.mkdirs() to create the parent dir,
before calling rename()
+ // to move the file into it. As a result, we need to create user home dir
in mkdirs().
+ if (autoCreateUserHomeForTrash) {
+ createUserHomeForTrashPath(src, locations);
Review Comment:
I don't think you should be piggybacking on {{mkdirs}} to get this created.
If this is a useful feature to have, I'd suggest adding a new FileSystem API
named something like {{provisionTrashPath()}} similar to {{provisionEZTrash}}
and call it in {{TrashPolicy#moveToTrash}} before {{mkdirs}}.
Can you also call out why you need this vs. provisioning user trash paths as
part of the (off band) process of provisioning the user home directories on
HDFS?
> RBF: auto-create user home dir for trash paths by router
> --------------------------------------------------------
>
> Key: HDFS-16816
> URL: https://issues.apache.org/jira/browse/HDFS-16816
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: rbf
> Reporter: Xing Lin
> Assignee: Xing Lin
> Priority: Minor
> Labels: pull-request-available
>
> In RBF, trash files are moved to trash root under user's home dir at the
> corresponding namespace/namenode where the files reside. This was added in
> HDFS-16024. When the user home dir is not created before-hand at a namenode,
> we run into permission denied exceptions when trying to create the parent dir
> for the trash file before moving the file into it. We propose to enhance
> Router, to auto-create a user home's dir at the namenode for trash paths,
> using router's identity (which is assumed to be a super-user).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]