[ 
https://issues.apache.org/jira/browse/HADOOP-4813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655070#action_12655070
 ] 

Raghu Angadi commented on HADOOP-4813:
--------------------------------------

Right. It may not require changes to how objects are read and written in IPC. 
In stead of ByteArrayStreams we just need to use our own input and output 
streams that use a list of buffers instead of single buffer. We need to 
propagate this list through the write code path on Server and client. 

The way I see it the bytes on wire don't actually change. Is that approximately 
what you are proposing?

> Avoid a buffer copy while replying to RPC requests.
> ---------------------------------------------------
>
>                 Key: HADOOP-4813
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4813
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: ipc
>            Reporter: Raghu Angadi
>
> RPC server first serializes RPC response to a ByteArrayOutputStream and then 
> creates a new array to write to socket. For most responses the RPC handler is 
> able to write the entire response in-line. If we could use the same buffer 
> used by ByteArrayOutputStream, we can avoid this copy. 
> As mentioned in HADOOP-4802, yet another copy could be avoided (in most 
> cases) if we use a static direct buffer for the responses (not proposed for 
> this jira).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to