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;