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

Colin Patrick McCabe commented on HDFS-5762:
--------------------------------------------

bq. WATERMELON print in the test

fixed

bq. In readWithoutBounceBuffer(ByteBuffer), instead of breaking on a 0-length 
read (which is valid for FileChannel), can we instead check for EOF and return 
before that?

would rather not, this is a rare case and I don't want more "ifs"

bq.I think this could be clearer as...

done.

bq. Sprinkling some comments around the changes in BRL would be appreciated

Added a comment about this (and JIRA number) in BlockReaderLocal.java


> BlockReaderLocal doesn't return -1 on EOF when doing zero-length reads
> ----------------------------------------------------------------------
>
>                 Key: HDFS-5762
>                 URL: https://issues.apache.org/jira/browse/HDFS-5762
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.4.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-5762.001.patch, HDFS-5762.002.patch
>
>
> Unlike the other block readers, BlockReaderLocal currently doesn't return -1 
> on EOF when doing zero-length reads.  This behavior, in turn, propagates to 
> the DFSInputStream.  BlockReaderLocal should do this, so that client can 
> determine whether the file is at an end by doing a zero-length read and 
> checking for -1.
> One place this shows up is in libhdfs, which does such a 0-length read to 
> determine if direct (i.e., ByteBuffer) reads are supported.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to