[ 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)