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

Brandon Li updated HDFS-5329:
-----------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> Update FSNamesystem#getListing() to handle inode path in startAfter token
> -------------------------------------------------------------------------
>
>                 Key: HDFS-5329
>                 URL: https://issues.apache.org/jira/browse/HDFS-5329
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>             Fix For: 2.2.1
>
>         Attachments: HDFS-5329.1.patch, HDFS-5329.2.patch, HDFS-5329.3.patch, 
> HDFS-5329.4.patch, HDFS-5329.5.patch, HDFS-5329.patch
>
>
> This is to support network protocols which can't use file name as the token 
> to resume directory listing. 
> NFS gateway doesn't know the name of startAfter and has to use inode id 
> instead. NFS protocol uses readdir and readdirplus to list directory content. 
> In the response, each dirent has an 8-byte number verifier.
> To list the content of large directories, NFS client sends multiple readdir 
> or readdirplus requests to NFS gateway with one verifier(resume point) in the 
> request. The verifier is basically of the same usage as "startAfter" in 
> getListing. Since NFSv3 uses file handle to communicate and doesn't know the 
> file name. NFS gateway has to use the inode id path as "startAfter" when 
> sending getList request to NN, however NN currently expects "startAfter" to 
> be just a file name. As a result, NFS gateway can't list the content of large 
> directories.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to