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

Konstantin Shvachko commented on HADOOP-894:
--------------------------------------------

Yes. LocatedBlocks contains file length and a List of block locations.
I initially implemented open(src, length) because it is more general, and 
deprecated old open(src).
Dhruba finds it "not very intuitive" and Sameer says it does not "add a lot of 
value".

I cannot implement open(start,length) with the start > 0 right now, because in 
order to do that I will
need to write an offset-to-block map for cached blocks in the client. I was 
planning to do it in the next
iteration, but it was supposed to be used mostly in pread() that is for 
getBlockLocations(), not in open().

I don't see how we can benefit from introducing the start parameter, but I 
definitely support adding length.
So currently it's a tie 2:2. We need more votes to resolve the issue.

> dfs client protocol should allow asking for parts of the block map
> ------------------------------------------------------------------
>
>                 Key: HADOOP-894
>                 URL: https://issues.apache.org/jira/browse/HADOOP-894
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: dfs
>            Reporter: Owen O'Malley
>         Assigned To: Konstantin Shvachko
>         Attachments: partialBlockList.patch, partialBlockList2.patch
>
>
> I think that the HDFS client protocol should change like:
> /** The meta-data about a file that was opened. */
> class OpenFileInfo {
>   /** the info for the first block */
>   public LocatedBlockInfo getBlockInfo();
>   public long getBlockSize();
>   public long getLength();
> }
> interface ClientProtocol extends VersionedProtocol {
>   public OpenFileInfo open(String name) throws IOException;
>   /** get block info for any range of blocks */
>   public LocatedBlockInfo[] getBlockInfo(String name, int blockOffset, int 
> blockLength) throws IOException;
> }
> so that the client can decide how much block info to request and when. 
> Currently, when the file is opened or an error occurs, the entire block list 
> is requested and sent.

-- 
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