hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11039) ByteBufferReadable API doc is inconsistent with the implementations.
Date Mon, 01 Sep 2014 02:17:20 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-11039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14116981#comment-14116981

Hadoop QA commented on HADOOP-11039:

{color:green}+1 overall{color}.  Here are the results of testing the latest attachment 
  against trunk revision 258c7d0.

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+0 tests included{color}.  The patch appears to be a documentation patch
that doesn't require tests.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

    {color:green}+1 eclipse:eclipse{color}.  The patch built with eclipse:eclipse.

    {color:green}+1 findbugs{color}.  The patch does not introduce any new Findbugs (version
2.0.3) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in hadoop-common-project/hadoop-common.

    {color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/4613//testReport/
Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/4613//console

This message is automatically generated.

> ByteBufferReadable API doc is inconsistent with the implementations.
> --------------------------------------------------------------------
>                 Key: HADOOP-11039
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11039
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: documentation
>            Reporter: Yi Liu
>            Assignee: Yi Liu
>            Priority: Minor
>         Attachments: HADOOP-11039.001.patch
> In {{ByteBufferReadable}}, API doc of {{int read(ByteBuffer buf)}} says:
> {quote}
> After a successful call, buf.position() and buf.limit() should be unchanged, and therefore
any data can be immediately read from buf. buf.mark() may be cleared or updated.
> {quote}
> {quote}
> @param buf
>                 the ByteBuffer to receive the results of the read operation. Up to
>                 buf.limit() - buf.position() bytes may be read.
> {quote}
> But actually the implementations (e.g. {{DFSInputStream}}, {{RemoteBlockReader2}}) would
> *Upon return, buf.position() will be advanced by the number of bytes read.*
> code implementation of {{RemoteBlockReader2}} is as following:
> {code}
> @Override
>   public int read(ByteBuffer buf) throws IOException {
>     if (curDataSlice == null || curDataSlice.remaining() == 0 && bytesNeededToFinish
> 0) {
>       readNextPacket();
>     }
>     if (curDataSlice.remaining() == 0) {
>       // we're at EOF now
>       return -1;
>     }
>     int nRead = Math.min(curDataSlice.remaining(), buf.remaining());
>     ByteBuffer writeSlice = curDataSlice.duplicate();
>     writeSlice.limit(writeSlice.position() + nRead);
>     buf.put(writeSlice);
>     curDataSlice.position(writeSlice.position());
>     return nRead;
>   }
> {code}
> This description is very important and will guide user how to use this API, and all the
implementations should keep the same behavior. We should fix the javadoc.

This message was sent by Atlassian JIRA

View raw message