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

Jing Zhao commented on RATIS-28:
--------------------------------

Thanks for the great work, [~szetszwo]! The patch looks good to me. Just one 
minor comment and 2 thoughts which can be further discussed in separate jiras:
# RaftConfigKeys#Rpc can be an interface
# We can consider use some other way for library users to pass extra 
configuration objects for their RPC engine (e.g., Hadoop Configuration) into 
the RPC factory. In this way we can get a neater API for RPC creation and avoid 
using an lazy initialization supplier in RaftServerImpl.
# Maybe we should consider using RpcType as an internal util stuff instead of 
exposing it in public interfaces, considering most library users will have to 
integrate the Ratis library with their own RPC engine.

+1 after addressing comment #1.

> Create RaftServerRpc using ServerFactory
> ----------------------------------------
>
>                 Key: RATIS-28
>                 URL: https://issues.apache.org/jira/browse/RATIS-28
>             Project: Ratis
>          Issue Type: Sub-task
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>         Attachments: r28_20170222.patch, r28_20170223b.patch, 
> r28_20170223.patch
>
>
> In order to support pluggable rpc, user is supposed to first choose an rpc 
> implementation to create a RaftServerRpc rpc.  Then create a RaftServer 
> server.  Finally, call server.setServerRpc(rpc) to connect these two objects.
> In this JIRA, we add a RpcType property and use it to initialize RaftServer 
> and then automatically create RaftServerRpc from the RpcType.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to