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

Lucas Lustosa Madureira commented on HDFS-10176:
------------------------------------------------

Greetings

I gave it a try on resolving his issue.
As I understand it, the WebHDFS is supposed to expose the methods of 
[org.apache.hadoop.fs.FileSystem|https://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html].
 As it stands, this class does not have a version of listStatus that supports 
ordering. Ideally, to solving this issue involves adding such method to this 
class. Adding this method was easy enough (take a look at [this 
patch|http://pastebin.com/raw/R4G5FjQq]).
The next step should be to modify the WebHDFS url to understand a new 
parameter, for instance:

{code:borderStyle=solid}
curl -i  
"http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=LISTSTATUS[&orderBy=<ORDERBY>]"
{code}

Then it would be necessary to check if the parameter is set and call the 
appropriate version of listStatus.
Unfortunately I could not figure this part. I could verify that the request to 
the URL above is (at least partially) fulfilled by the class 
[org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods|https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/web/resources/NamenodeWebHdfsMethods.java].
 Looking at the class 
[org.apache.hadoop.hdfs.web.WebHdfsFileSystem|https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java],
 I got the impression that this class somehow causes the code on 
NamenodeWebHdfsMethods to run. If that is what happens, I think I need to know 
which part of the code calls WebHdfsFileSystem.listStatus, and apply there the 
changes proposed on the previous paragraph.
Unfortunatelly I could not figure this out, specially as there is no 
documentation of the inner workings of the hadoop project.
To add to my confusion, there are also the classes at 
[org.apache.hadoop.http|https://github.com/apache/hadoop/tree/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http],
 which I am not sure are related to WebHdfs or not (they also deal with http 
requests and hdfs).
Should I make no progress, at least this comment is a starting point for anyone 
who tries to address this issue.

PS. How do you guys package a new hadoop source? It takes me almost half an 
hour to package it with maven, even though I only change a few lines of a file.

> WebHdfs LISTSTATUS does not offer any sorting
> ---------------------------------------------
>
>                 Key: HDFS-10176
>                 URL: https://issues.apache.org/jira/browse/HDFS-10176
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: webhdfs
>    Affects Versions: 2.7.0
>            Reporter: Romain Rigaux
>
> http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#List_a_Directory
> Times, names, sizes would allow a Web client to offer a richer experience to 
> its user:
> {code}
> {
>         "accessTime"      : 1320171722771,
>         "blockSize"       : 33554432,
>         "group"           : "supergroup",
>         "length"          : 24930,
>         "modificationTime": 1320171722771,
>         "owner"           : "webuser",
>         "pathSuffix"      : "a.patch",
>         "permission"      : "644",
>         "replication"     : 1,
>         "type"            : "FILE"
>       },
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to