You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Owen O'Malley (Jira)" <ji...@apache.org> on 2022/09/23 18:06:00 UTC

[jira] [Resolved] (HADOOP-18444) Add Support for localized trash for ViewFileSystem in Trash.moveToAppropriateTrash

     [ https://issues.apache.org/jira/browse/HADOOP-18444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Owen O'Malley resolved HADOOP-18444.
------------------------------------
    Fix Version/s: 3.4.0
                   3.3.9
       Resolution: Fixed

> Add Support for localized trash for ViewFileSystem in Trash.moveToAppropriateTrash
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-18444
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18444
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Xing Lin
>            Assignee: Xing Lin
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.4.0, 3.3.9
>
>
> Trash.moveToAppropriateTrash is used by _hadoop cli -rm_ and hive, to move files to trash. However, its current implementation does not support localized trash policy we added to ViewFileSystem in HADOOP-18144.
> The reason is in moveToAppropriateTrash, it first resolves a path and then uses the resolvedFs, to initialize the trash. As a result, it uses getTrashRoot() implementation from targetFs, not ViewFileSystem. The new localized trash policy we implemented in ViewFileSystem is not invoked.
> With the new localized trash policy for ViewFileSystem, the trash root would be local to a mount point, thus, for ViewFileSystem with this flag turned on, there is no need to resolve the path in moveToAppropriateTrash. Rename in ViewFileSystem can resolve the logical paths correctly and be able to move a file to trash within a mount point. 
> Code section of current moveToAppropriateTrash implementation.
> {code:java}
> public static boolean moveToAppropriateTrash(FileSystem fs, Path p,
>     Configuration conf) throws IOException {
>   Path fullyResolvedPath = fs.resolvePath(p);
>   FileSystem fullyResolvedFs =
>       FileSystem.get(fullyResolvedPath.toUri(), conf);
>   ...
>   Trash trash = new Trash(fullyResolvedFs, conf);
>   return trash.moveToTrash(fullyResolvedPath);
> }{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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