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 Fri, 19 Dec 2014 14:06:13 GMT

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

Hadoop QA commented on HADOOP-11039:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12665690/HADOOP-11039.001.patch
  against trunk revision 6635ccd.

    {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:red}-1 findbugs{color}.  The patch appears to introduce 2 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.

Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/5317//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/5317//artifact/patchprocess/newPatchFindbugsWarningshadoop-common.html
Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/5317//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
be: 
> *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
(v6.3.4#6332)

Mime
View raw message