[ 
https://issues.apache.org/jira/browse/HADOOP-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510841
 ] 

Chris Douglas commented on HADOOP-1568:
---------------------------------------

Thoughts:

1) It isn't clear how one would format a list of block locations in a reply. 
One could request the contents of a consecutive set of blocks by setting query 
parameters or using a range header field, but XML provides a more expressive 
format for that association that might also permit a consumer to contact 
multiple datanodes simultaneously, from different machines, etc. We don't need 
or support it now, but situations where it could be useful are not difficult to 
imagine.
2) Each request for file info is a separate HTTP HEAD request. A consumer needs 
to parse the link to acquire interesting information about the file, including 
its name (as in the patch). If we hope to avoid assumptions about the link 
syntax, a HEAD request is necessary for every file in the listing. Granted, the 
link syntax is probably pretty stable, but parsing URIs for file paths doesn't 
seem like a more future-proof solution than an XML schema.

Further, if we hope to implement (1), we would probably break the current 
implementation of (2) or include block location URIs in header fields.

It seems prudent to restrict this servlet to meta-information, i.e. not 
returning file content in response to a GET and leave that to StreamFile or 
some other facility. Some of the ideas in this and in HADOOP-1563 seem very 
appropriate for StreamFile, though.

> NameNode Schema for HttpFileSystem
> ----------------------------------
>
>                 Key: HADOOP-1568
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1568
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: fs
>            Reporter: Chris Douglas
>            Assignee: Chris Douglas
>
> This issue will track the design and implementation of (the first pass of) a 
> servlet on the namenode for querying its filesystem via HTTP. The proposed 
> syntax for queries and responses is as follows.
> *Query*
> {noformat}GET http://<nn>:<port>/ls.jsp[<?option>[&option]*] 
> HTTP/1.1{noformat}
> Where _option_ may be any of the following query parameters:
> _path_ : String (default: '/')
> _recursive_ : boolean (default: false)
> _filter_ : String (default: none)
> *Response*
> The response will be returned as an XML document in the following format:
> {noformat}
> <listing path="..." recursive="(yes|no)" filter="..."
>          time="yyyy-MM-dd hh:mm:ss UTC" version="...">
>   <directory path="..."/>
>   <file path="..." modified="yyyy-MM-dd hh:mm:ss" blocksize="..."
>         replication="..." size="..."
>         dnurl="http://dn:port/streamFile?..."/>
> </listing>
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to