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

Hector Sandoval Chaverri commented on HDFS-15912:
-------------------------------------------------

The following changes are proposed on ProtobufRpcEngine and ProtobufRpcEngine2:
 # Change Invoker class, its constructors and fields from private to protected.
 # Move creation of RpcProtobufRequest object out of the Invoker#invoke method 
and into a new Invoker#constructRpcRequest method that can be overriden.
 # Create overload of the Server.ProtoBufRpcInvoker#call method that can be 
invoked after the RPC request is obtained. 

> Allow ProtobufRpcEngine to be extensible
> ----------------------------------------
>
>                 Key: HDFS-15912
>                 URL: https://issues.apache.org/jira/browse/HDFS-15912
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs
>            Reporter: Hector Sandoval Chaverri
>            Assignee: Hector Sandoval Chaverri
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The ProtobufRpcEngine class doesn't allow for new RpcEngine implementations 
> to extend some of its inner classes (e.g. Invoker and 
> Server.ProtoBufRpcInvoker). Also, some of its methods are long enough such 
> that overriding them would result in a lot of code duplication (e.g. 
> Invoker#invoke and Server.ProtoBufRpcInvoker#call).
> When implementing a new RpcEngine, it would be helpful to reuse most of the 
> code already in ProtobufRpcEngine. This would allow new fields to be added to 
> the RPC header or message with minimal code changes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to