[ https://issues.apache.org/jira/browse/RATIS-498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793412#comment-16793412 ]
Tsz Wo Nicholas Sze commented on RATIS-498: ------------------------------------------- Have a look at the patch. The work is quite impressive! - I suggest implementing only one of the rpc such as gRPC. We may add the other implementations later. - Need to change GrpcServerProtocolService for followers to take the request. We should also think about the detail of the design. For gRPC, how should notifyInstallSnapshot looks like? In the patch, it seems we have: # The leader sends a request. # After the follower receives the request, it will do the actual install snapshot work. # The follower send a reply In the follower, it may take a long time to do the actual install snapshot work. So, the leader may wait for a long time. Consider the following questions: - How long should the leader wait? - Should the follower report progress from time to time so that leader won't timeout? - Should the leader send appendEntries during waiting? > 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 > > > 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)