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

Sahil Takiar commented on HDFS-14111:
-------------------------------------

I think this patch should be good to merge.

Talked to a few other folks about {{errno}} handling, and given that the C docs 
say {{The value in errno is significant only when the return value of the call 
indicated an error (i.e., -1 from most system calls; -1 or NULL from most 
library functions); a function that succeeds is allowed to change errno.}} I 
think the test changes made as part of this patch should be fine.

> hdfsOpenFile on HDFS causes unnecessary IO from file offset 0
> -------------------------------------------------------------
>
>                 Key: HDFS-14111
>                 URL: https://issues.apache.org/jira/browse/HDFS-14111
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs-client, libhdfs
>    Affects Versions: 3.2.0
>            Reporter: Todd Lipcon
>            Assignee: Sahil Takiar
>            Priority: Major
>         Attachments: HDFS-14111.001.patch, HDFS-14111.002.patch, 
> HDFS-14111.003.patch
>
>
> hdfsOpenFile() calls readDirect() with a 0-length argument in order to check 
> whether the underlying stream supports bytebuffer reads. With DFSInputStream, 
> the read(0) isn't short circuited, and results in the DFSClient opening a 
> block reader. In the case of a remote block, the block reader will actually 
> issue a read of the whole block, causing the datanode to perform unnecessary 
> IO and network transfers in order to fill up the client's TCP buffers. This 
> causes performance degradation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to