[
https://issues.apache.org/jira/browse/HBASE-5945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Devaraj Das updated HBASE-5945:
-------------------------------
Attachment: 5945-in-progress.patch
[~stack], hope it is okay with you that I am attaching a patch here... (I was
tempted to do a patch for this issue..)
The main change in this patch is that it removes the RpcRequestBody from
RPC.proto, and instead serializes the rpc method argument directly to the
underlying output. There is a lot of change associated with this removal in the
patch.
I didn't change the serialization of the rpc header fields yet (as was done by
[~tlipcon] in his earlier patch). The reason being that I don't think the
header part is a concern since they will be a few 10s of bytes and mostly will
be noise. The ser/de of the rpc request-body/response-body is where I tried to
improve on. The codebase compiles with this patch now but there is work still
left (and maybe I missed some buffer copies as well; need to dig some more).
> Reduce buffer copies in IPC server response path
> ------------------------------------------------
>
> Key: HBASE-5945
> URL: https://issues.apache.org/jira/browse/HBASE-5945
> Project: HBase
> Issue Type: Improvement
> Components: IPC/RPC
> Affects Versions: 0.96.0
> Reporter: Todd Lipcon
> Assignee: stack
> Priority: Blocker
> Fix For: 0.96.0
>
> Attachments: 5945-in-progress.patch, buffer-copies.txt,
> even-fewer-copies.txt, hbase-5495.txt
>
>
> The new PB code is sloppy with buffers and makes several needless copies.
> This increases GC time a lot. A few simple changes can cut this back down.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira