[
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
(v6.3.4#6332)