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

Jing Zhao commented on RATIS-107:
---------------------------------

Thanks for working on this, Nicholas. Here I think we may want to change the 
{{reinitialize}} RPC into a local API which is triggered by the local 
upper-level application code. The raft groups are usually determined by the 
application (e.g., ozone) based on their requirement, and each decision should 
indicates: 1) the state machine for replication (e.g., which storage 
containers), and 2) the nodes to do the replication. A RPC call in the raft 
layer, like the current {{reinitialize}} can only tell the information about 
#2. We thus actually need a RPC call in the application layer, whose server 
side implementation calls the local RaftServerProxy's API to add the local node 
to a new/existing raft group.

What do you think?

> Restrict reinitialize to be from/to an empty group
> --------------------------------------------------
>
>                 Key: RATIS-107
>                 URL: https://issues.apache.org/jira/browse/RATIS-107
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>         Attachments: r107_20170816.patch, r107_20170822.patch
>
>
> In order to avoid servers being accidentally reinitialized incorrectly, we 
> propose that reinitialize must be applied from an empty group to a non-empty 
> group, or from a non-empty group to an empty group.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to