You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2015/01/15 08:30:02 UTC
hbase git commit: HBASE-12845 - ByteBufferOutputStream should grow as
direct buffer if the initial buffer is also direct BB (Ram)
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 <ra...@intel.com>
Authored: Thu Jan 15 12:58:22 2015 +0530
Committer: Ramkrishna <ra...@intel.com>
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;