[ 
https://issues.apache.org/jira/browse/HBASE-13819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anoop Sam John updated HBASE-13819:
-----------------------------------
      Resolution: Fixed
    Hadoop Flags: Reviewed
    Release Note: 
For master branch(2.0 version), the BoundedByteBufferPool always create Direct 
(off heap) ByteBuffers and return that.
For branch-1(1.3 version), byte default the buffers returned will be off heap. 
This can be changed to return on heap ByteBuffers by configuring 
*'hbase.ipc.server.reservoir.direct.buffer'* to false.
          Status: Resolved  (was: Patch Available)

Pushed to branch-1 and master.
In master we will always make Direct ByteBuffer from pool. In 1.3 we will by 
default make it direct and using config 
*hbase.ipc.server.reservoir.direct.buffer* this can be changed. Configure it as 
false to make the on heap ByteBuffers as before.

Thanks for the reviews Stack and Ram.

> Make RPC layer CellBlock buffer a DirectByteBuffer
> --------------------------------------------------
>
>                 Key: HBASE-13819
>                 URL: https://issues.apache.org/jira/browse/HBASE-13819
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Scanners
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: HBASE-13819.patch, HBASE-13819_branch-1.patch, 
> HBASE-13819_branch-1.patch, HBASE-13819_branch-1.patch
>
>
> In RPC layer, when we make a cellBlock to put as RPC payload, we will make an 
> on heap byte buffer (via BoundedByteBufferPool). The pool will keep upto 
> certain number of buffers. This jira aims at testing possibility for making 
> this buffers off heap ones. (DBB)  The advantages
> 1. Unsafe based writes to off heap is faster than that to on heap. Now we are 
> not using unsafe based writes at all. Even if we add, DBB will be better
> 2. When Cells are backed by off heap (HBASE-11425) off heap to off heap 
> writes will be better
> 3. When checked the code in SocketChannel impl, if we pass a HeapByteBuffer 
> to the socket channel, it will create a temp DBB and copy data to there and 
> only DBBs will be moved to Sockets. If we make DBB 1st hand itself, we can  
> avoid this one more level of copying.
> Will do different perf testing with changed and report back.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to