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

Ayush Saxena commented on HDFS-15384:
-------------------------------------

{{dfs.client.read.prefetch.size}} is a well documented property. : _The number 
of bytes for the DFSClient will fetch from the Namenode during a read 
operation. Defaults to 10 * ${dfs.blocksize}. _
What error is possible in this, If someone wants to get the whole of the lot, 
he can probably use {{public LocatedBlocks getLocatedBlocks(String src, long 
start, long length)}}
Changing this may have some adverse affect too, If the file is too big, with 
too many blocks, this API would start returning all the blocks increasing load 
on N/W as well as on Namenode, which it doesn't do as of now. And changing 
behavior of a {{public}} API would be incompatible too.

> Method getLocatedBlocks(String src, long start) of DFSClient only return 
> partial blocks
> ---------------------------------------------------------------------------------------
>
>                 Key: HDFS-15384
>                 URL: https://issues.apache.org/jira/browse/HDFS-15384
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Yang Yun
>            Assignee: Yang Yun
>            Priority: Minor
>         Attachments: HDFS-15384.001.patch
>
>
>  
>   
> Intuitively, the method getLocatedBlocks(String src, long start) of DFSClient 
> will return all blocks after offset ‘start’. But actually it uses 
> dfsClientConf.getPrefetchSize() as the length and only return part of blocks. 
> I feel it's error-prone and open this Jira for discussion.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to