Alexey Goncharuk created IGNITE-13798:
-----------------------------------------

             Summary: Prototype Raft implementation port to a separate 
zero-dependency Ignite module
                 Key: IGNITE-13798
                 URL: https://issues.apache.org/jira/browse/IGNITE-13798
             Project: Ignite
          Issue Type: New Feature
            Reporter: Alexey Goncharuk
            Assignee: Alexey Goncharuk


We need to check whether it is reasonable and feasible to port the etcd Raft 
implementation [1] to Java, maintaining the same API interaction model:
 * Raft instance is a single-threaded state machine with methods to accept 
messages, return progress to be processed by a raft client, and tick callback
 * Raft instance does not actively send messages, not does it actively write to 
persistent log or the state machine

The implementation should demonstrate how the module will be used with omitted 
components: Raft Log, State Machine, Messaging, Timer.

The implementation must cover:
* Ability to provide leader/follower callbacks
* Ability to read linearizable and relaxed commit indexes

The implementation may cover:
* Replication group reconfiguration

The implementation prototype does not cover:
* Multi-raft groups
* Asynchronous state machine mutation



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

Reply via email to