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

Tsz Wo Nicholas Sze commented on RATIS-208:
-------------------------------------------

The current steps for handling client requests:
 # The leader receives a request from a client.
 # The leader forwards the request to the followers via appendEntries.
 # The leader waits for majority.
 # The leader applies the transaction to its state machine.
 # The leader replies to the client.

For requests requiring higher replication level, Step 1 to 4 remain the same. 
Step 5 becomes
- 5'. The leader waits for more appendEntries responses until the replication 
requirement is satisfied. Then, the leader replies to the client.

> Allow client to specify replication level in a request
> ------------------------------------------------------
>
>                 Key: RATIS-208
>                 URL: https://issues.apache.org/jira/browse/RATIS-208
>             Project: Ratis
>          Issue Type: New Feature
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>            Priority: Major
>
> In Raft protocol, the leader sends a reply to client once the request is 
> committed and applied to its state machine.  A request is committed when the 
> leader get a majority of responses from all the members in the raft group.
> In some applications, the client may want to wait for all member responses 
> instead of a majority.  For example, the application wants to support reading 
> even if there is only one machine remaining in the group.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to