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

Siyao Meng commented on HDFS-15607:
-----------------------------------

Note this jira has an addendum patch that fixes a small bug where 
disallowsnapshot() throws a different exception than before when called on a 
*file*. To learn more, see the description for 
[PR#2448|https://github.com/apache/hadoop/pull/2448].

> Create trash dir when allowing snapshottable dir
> ------------------------------------------------
>
>                 Key: HDFS-15607
>                 URL: https://issues.apache.org/jira/browse/HDFS-15607
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs
>    Affects Versions: 3.4.0
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.4.0
>
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> In {{TrashPolicyDefault}}, the {{.Trash}} directory will be created with 
> permission 700 (and without sticky bit) by the first user that moves a file 
> to the trash. This is an issue when other users try to move files to that 
> trash because they may not have the permission to move to that trash if the 
> trash root is shared. -- in this case, snapshottable directories.
> This only affects users when trash is enabled inside snapshottable 
> directories ({{dfs.namenode.snapshot.trashroot.enabled}} set to true), and 
> when a user performing move to trash operations doesn't have admin 
> permissions.
> Solution: Create a {{.Trash}} directory with 777 permission and sticky bits 
> enabled (similar solution as HDFS-10324).
> Also need to deal with some corner cases:
> 1. even when the snapshottable directory trash root config is not enabled 
> ({{dfs.namenode.snapshot.trashroot.enabled}} set to false), create the 
> {{.Trash}} directory anyway? Or should we ask the admin to provision trash 
> manually after enabling {{dfs.namenode.snapshot.trashroot.enabled}} on an 
> existing cluster?
> - If the cluster is just upgraded, we need to provision trash manually anyway.
> 2. When immediately disallowing trash, it shouldn't fail. just remove the 
> .Trash directory when disallowing snapshot on a dir if it is empty?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to