[ 
https://issues.apache.org/jira/browse/RATIS-2430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz-wo Sze resolved RATIS-2430.
-------------------------------
    Fix Version/s: 3.3.0
       Resolution: Fixed

The pull request is now merged.  Thanks, [~abhishek.pal]!

> Handle rollback on snapshot installation failure.
> -------------------------------------------------
>
>                 Key: RATIS-2430
>                 URL: https://issues.apache.org/jira/browse/RATIS-2430
>             Project: Ratis
>          Issue Type: Improvement
>          Components: snapshot
>            Reporter: Abhishek Pal
>            Assignee: Abhishek Pal
>            Priority: Major
>             Fix For: 3.3.0
>
>         Attachments: 1372_review.patch
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Today when 
> [SnapshotInstallatioHandler#checkAndInstallSnapshot|https://github.com/apache/ratis/blob/1433b4cbf7350afcf9b2f871dd48c48e17a91a1d/ratis-server/src/main/java/org/apache/ratis/server/impl/SnapshotInstallationHandler.java#L167]
>  calls *state.installSnapshot(request)* - it pauses the state machine via 
> *ServerState.installSnapshot()*.
> However this means that in case later checks fail or IO fails or any such 
> scenario occurs, then there is no clear rollback option. Followers in this 
> scenario can be left in a partial installation state.
> One way to mitigate this is in appendChunk we can write to a temp file 
> without pausing StateMachine. When this is done we can atomically apply the 
> snapshot and reload the statemachine log.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to