[
https://issues.apache.org/jira/browse/HADOOP-894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12494613
]
Sameer Paranjpye commented on HADOOP-894:
-----------------------------------------
> It would be convenient if this did not require changes to both the protocol
> and to the server, but instead only on the client. To me, open(start,length)
> is a more general
> API that's no harder to implement than open(length), one that's future
> compatible. The client would, for now, always pass zero for 'start'.
Fair enough, open(start, length) is more general and future compatible and we
should implement it. The public APIs don't change for now and the client always
passes 0 for start and ${hdfs.initial.bytes} for length. Maybe we use a default
of 256MB and get the first 2-8 blocks depending on which of the common block
sizes (32, 64 or 128MB) applies to the file.
> 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.