From e25b789b19d072fa167be589fe44c5d4fb3ed876 Mon Sep 17 00:00:00 2001 From: Colin Patrick Mccabe Date: Mon, 29 Dec 2014 13:37:45 -0800 Subject: [PATCH] HADOOP-11039. ByteBufferReadable API doc is inconsistent with the implementations. (Yi Liu via Colin P. McCabe) (cherry picked from commit 249cc905017948d64aab3d14d7a64df3b7b35a13) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../java/org/apache/hadoop/fs/ByteBufferReadable.java | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 418c6502198..0f01a911929 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -307,6 +307,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11448. Fix findbugs warnings in FileBasedIPList. (ozawa) + HADOOP-11039. ByteBufferReadable API doc is inconsistent with the + implementations. (Yi Liu via Colin P. McCabe) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ByteBufferReadable.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ByteBufferReadable.java index e18a1151499..aa6e85ea889 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ByteBufferReadable.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ByteBufferReadable.java @@ -29,9 +29,8 @@ public interface ByteBufferReadable { * Reads up to buf.remaining() bytes into buf. Callers should use * buf.limit(..) to control the size of the desired read. *

- * 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. + * After a successful call, buf.position() will be advanced by the number + * of bytes read and buf.limit() should be unchanged. *

* In the case of an exception, the values of buf.position() and buf.limit() * are undefined, and callers should be prepared to recover from this @@ -45,9 +44,9 @@ public interface ByteBufferReadable { * signal an error upon their receipt. * * @param buf - * the ByteBuffer to receive the results of the read operation. Up to - * buf.limit() - buf.position() bytes may be read. - * @return the number of bytes available to read from buf + * the ByteBuffer to receive the results of the read operation. + * @return the number of bytes read, possibly zero, or -1 if + * reach end-of-stream * @throws IOException * if there is some error performing the read */