Xing Lin created HADOOP-18144:
---------------------------------

             Summary: getTrashRoot/s in ViewFileSystem should return viewFS 
path, not targetFS path
                 Key: HADOOP-18144
                 URL: https://issues.apache.org/jira/browse/HADOOP-18144
             Project: Hadoop Common
          Issue Type: Improvement
          Components: common
            Reporter: Xing Lin


It is probably incorrect that we return a targetFS path from getTrashRoot() in 
ViewFileSystem, as that path will be used later on by ViewFileSystem in other 
operations, such as rename. ViewFileSystem is assuming the path that it 
receives is a viewFS path, but not a target FS path. For example, rename() in 
ViewFileSystem will call getUriPath() for src/dst path, which will remove the 
scheme/authority and then try to resolve the path-only component. It thus 
sometimes leads to incorrect path resolution, as we are doing the path 
resolution again on a targetFS path. 

 

On the other hand, it is not always trivial/feasible to determine the correct 
viewFS path for a given trash root in targetFS path. 

Example:

Assume we have a mount point for /user/foo -> abfs:/containerA

User foo calls getTrashRoot("/a/b/c") and "/a/b/c" does not match any mount 
point. We fall back to the fallback hdfs, which by default returns 
hdfs://localhost/user/foo/.Trash. In this case, it is incorrect to return the 
trash root as viewfs:/user/foo, as it will be resolved to the abfs mount point, 
instead of the fallback hdfs.

  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to