hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16783) Use ByteBufferPool for the header and message during Rpc response
Date Tue, 11 Oct 2016 18:04:20 GMT

    [ https://issues.apache.org/jira/browse/HBASE-16783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15566113#comment-15566113

Anoop Sam John commented on HBASE-16783:

The issue is the waste of 64 MB buffer space which we get from pool as normally the PB part
of the reply will be small in size.  Also to remember that the same reply route is followed
by all requests (not just read). These might be some admin related reqs from master etc also
(?)  All using the pool is not making sense IMO.  Ya for the read requests it would be better
not to create temp byte[] for the PB parts of response.  So 2 suggestions/Qs
1. Can we make sure we use BB from pool for PB response only for get/scan?
2. We get one BB from pool and use that for the header and message. Now this BB may have lots
of space left. Can we use this remaining space in CellBlock building? Ya in turn that cellblock
building might need more BBs.   In header u will need a total response size int data and for
that cell block is size is needed. But we can leave that 4 bytes blank at 1st and finally
come back here and update the size (after all it is a BB and we can position write there)

Smaller sized buffers pool is some thing we need to think and discuss.

> Use ByteBufferPool for the header and message during Rpc response
> -----------------------------------------------------------------
>                 Key: HBASE-16783
>                 URL: https://issues.apache.org/jira/browse/HBASE-16783
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>         Attachments: HBASE-16783.patch, HBASE-16783_1.patch
> With ByteBufferPool in place we could avoid the byte[] creation in RpcServer#createHeaderAndMessageBytes
and try using the Buffer from the pool rather than creating byte[] every time.

This message was sent by Atlassian JIRA

View raw message