You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz Wo Nicholas Sze (JIRA)" <ji...@apache.org> on 2018/02/07 02:08:00 UTC
[jira] [Commented] (RATIS-208) Allow client to specify replication
level in a request
[ 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)