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