hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei-Chiu Chuang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-12485) expunge may not remove trash from encryption zone
Date Thu, 21 Sep 2017 17:18:00 GMT

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

Wei-Chiu Chuang commented on HDFS-12485:
----------------------------------------

Hi [~shahrs87] thanks for the review!

Existing tests in TestTrashWithSecureEncryptionZones already cover this case. The problem
is that the test's initialization code overrides the System properties, so the tests did not
catch it. My patch removes that override.

FYI HDFS-12484 is also a bug related to encryption zone trash directories. Would you please
also take a look?

> expunge may not remove trash from encryption zone
> -------------------------------------------------
>
>                 Key: HDFS-12485
>                 URL: https://issues.apache.org/jira/browse/HDFS-12485
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.8.0, 3.0.0-alpha1
>            Reporter: Wei-Chiu Chuang
>            Assignee: Wei-Chiu Chuang
>         Attachments: HDFS-12485.001.patch
>
>
> This is related to HDFS-12484, but turns out that even if I have super user permission,
-expunge may not remove trash either.
> If I log into Linux as root, and then login as the superuser hdfs@EXAMPLE.COM
> {noformat}
> [root@nightly511-1 ~]# hdfs dfs -rm /scale/b
> 17/09/18 15:21:32 INFO fs.TrashPolicyDefault: Moved: 'hdfs://ns1/scale/b' to trash at:
hdfs://ns1/scale/.Trash/hdfs/Current/scale/b
> [root@nightly511-1 ~]# hdfs dfs -expunge
> 17/09/18 15:21:59 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for
trashRoot: hdfs://ns1/user/hdfs/.Trash
> 17/09/18 15:21:59 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for
trashRoot: hdfs://ns1/user/hdfs/.Trash
> 17/09/18 15:21:59 INFO fs.TrashPolicyDefault: Deleted trash checkpoint: /user/hdfs/.Trash/170918143916
> 17/09/18 15:21:59 INFO fs.TrashPolicyDefault: TrashPolicyDefault#createCheckpoint for
trashRoot: hdfs://ns1/user/hdfs/.Trash
> [root@nightly511-1 ~]# hdfs dfs -ls hdfs://ns1/scale/.Trash/hdfs/Current/scale/b
> -rw-r--r--   3 hdfs systest          0 2017-09-18 15:21 hdfs://ns1/scale/.Trash/hdfs/Current/scale/b
> {noformat}
> expunge does not remove trash under /scale, because it does not know I am 'hdfs' user.
> {code:title=DistributedFileSystem#getTrashRoots}
> Path ezTrashRoot = new Path(it.next().getPath(),
>             FileSystem.TRASH_PREFIX);
>         if (!exists(ezTrashRoot)) {
>           continue;
>         }
>         if (allUsers) {
>           for (FileStatus candidate : listStatus(ezTrashRoot)) {
>             if (exists(candidate.getPath())) {
>               ret.add(candidate);
>             }
>           }
>         } else {
>           Path userTrash = new Path(ezTrashRoot, System.getProperty(
>               "user.name")); --> bug
>           try {
>             ret.add(getFileStatus(userTrash));
>           } catch (FileNotFoundException ignored) {
>           }
>         }
> {code}
> It should use UGI for user name, rather than system login user name.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message