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