[
https://issues.apache.org/jira/browse/RATIS-498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16801401#comment-16801401
]
Tsz Wo Nicholas Sze commented on RATIS-498:
-------------------------------------------
[~hanishakoneru] thanks for the example. It inspires me to think about
appendEntries and notifyInstallSnapshot. When a server is installing snapshot,
how should it resply appendEntries requests? It seems the server should reject
any appendEntries requests until installSnapshot completes.
For the example after #8, when N2 sends appendEntries, N3 should ignore the
request and reply (AppendEntriesReplyProto) the nextIndex 100 (since it has
installed snapshot 100). Then, it would work.
Also, when a leader requests notifyInstallSnapshot at index n, the follower
could install any snapshots with index >= n. The follower should install the
latest available snapshot. After the installation has completed, the follower
reply (either notifyInstallSnapshot or appendEntries) with the new index.
> Notify Follower to Install Snapshot through state machine
> ---------------------------------------------------------
>
> Key: RATIS-498
> URL: https://issues.apache.org/jira/browse/RATIS-498
> Project: Ratis
> Issue Type: New Feature
> Components: server
> Reporter: Hanisha Koneru
> Assignee: Hanisha Koneru
> Priority: Major
> Attachments: RATIS-498.000.patch, RATIS-498.001.patch,
> RATIS-498.002.patch, RATIS-498.003.patch, RATIS-498.004.patch,
> RATIS-498.005.patch
>
>
> When a lagging Follower wants to catch up with the Leader, and the Leader
> only has logs with start index greater than the Followers's last log index,
> then the leader sends an InstallSnapshotRequest to the the Follower.
> The aim of this Jira is to allow State Machine to decouple snapshot
> installation from the Ratis server. When Leader does not have the logs to get
> the Follower up to speed, it should notify the Follower to install a snapshot
> (if install snapshot through Log Appender is disabled). The Follower in turn
> notifies its state machine that a snapshot is required to catch up with the
> leader.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)