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

Rui Wang commented on RATIS-624:
--------------------------------

Thanks [~szetszwo]. This is exactly the discussion I was looking for.

{quote}1. add pause() and resume() to RaftServerImpl so that they can be used 
internally{quote}

It makes sense to start from having pause() and resume() in RaftServerImpl. I 
think whether needs such API in client or not is decided by which side will 
perform pause/install snapshot/resume operations. If it will happen within 
Ratis we might not need to expose it in client.


{quote}2. change server detect itself for lagging behind by a configurable 
threshold.{quote}

Either Ratis or applications can do this job. But Ratis definitely fits better 
here cause it has all stats already. so +1 to leave this is a a configurable 
threshold and servers can detect themselves for lagging too far.


{quote}3. change server to ask for installing snapshot if it detects itself 
lagging behind. This task need a more detailed design{quote}

I don't have clear thought right now. Either leaders or applications can make 
decisions to start pause->snapshot->install snapshot->resume.  But as you have 
pointed out, taking snapshot might have different cost for applications, so 
applications might require different polity for this process.


So my current thought is, convert 1 and 2 to two JIRAs. Then based on 
implementation of 1 and 2, combined with the requirement from OZone to have a 
design for 3. 

What do you think?  

> RaftServer should support pause/ unpause in its LifeCycle state
> ---------------------------------------------------------------
>
>                 Key: RATIS-624
>                 URL: https://issues.apache.org/jira/browse/RATIS-624
>             Project: Ratis
>          Issue Type: Task
>            Reporter: Hanisha Koneru
>            Assignee: Rui Wang
>            Priority: Major
>              Labels: ozone
>             Fix For: 1.1.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> This Jira aims to add support to RaftServer to support pause and unpause to 
> its state. When paused, the RaftServer should not accept any incoming append 
> log entries.



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

Reply via email to