[ 
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

Reply via email to