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

ASF GitHub Bot commented on HADOOP-18533:
-----------------------------------------

huxinqiu commented on code in PR #5151:
URL: https://github.com/apache/hadoop/pull/5151#discussion_r1027073201


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java:
##########
@@ -392,7 +394,7 @@ private class Connection extends Thread {
     private IOException closeException; // close reason
 
     private final Thread rpcRequestThread;
-    private final SynchronousQueue<Pair<Call, ResponseBuffer>> rpcRequestQueue 
=
+    private final SynchronousQueue<Pair<Call, Object>> rpcRequestQueue =

Review Comment:
   Because for WritableRpcEngine, there is no easy way to calculate the size of 
request parameters. ResponseBuffer is a better choice, so Object represents 
ResponseBuffer or RpcProtobufRequestWithHeader.





> RPC Client performance improvement
> ----------------------------------
>
>                 Key: HADOOP-18533
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18533
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: rpc-server
>            Reporter: xinqiu.hu
>            Priority: Minor
>              Labels: pull-request-available
>
>   The current implementation copies the rpcRequest and header to a 
> ByteArrayOutputStream in order to calculate the total length of the sent 
> request, and then writes it to the socket buffer.
>   But if the rpc engine is ProtobufRpcEngine2, we can pre-calculate the 
> request size, and then send the request directly to the socket buffer, 
> reducing a memory copy.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to