Repository: hbase Updated Branches: refs/heads/master 1c45263cf -> 71184309e
HBASE-12845 - ByteBufferOutputStream should grow as direct buffer if the initial buffer is also direct BB (Ram) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/71184309 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/71184309 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/71184309 Branch: refs/heads/master Commit: 71184309e1762708bbfe1e1bdb8a2acf9c8c2b15 Parents: 1c45263 Author: Ramkrishna <[email protected]> Authored: Thu Jan 15 12:58:22 2015 +0530 Committer: Ramkrishna <[email protected]> Committed: Thu Jan 15 12:59:38 2015 +0530 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/io/ByteBufferOutputStream.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/71184309/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java ---------------------------------------------------------------------- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java index 55a4aac..257b850 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferOutputStream.java @@ -70,8 +70,12 @@ public class ByteBufferOutputStream extends OutputStream { int newSize = (int)Math.min((((long)buf.capacity()) * 2), (long)(Integer.MAX_VALUE)); newSize = Math.max(newSize, buf.position() + extra); - - ByteBuffer newBuf = ByteBuffer.allocate(newSize); + ByteBuffer newBuf = null; + if (buf.isDirect()) { + newBuf = ByteBuffer.allocateDirect(newSize); + } else { + newBuf = ByteBuffer.allocate(newSize); + } buf.flip(); newBuf.put(buf); buf = newBuf;
