devabhishekpal opened a new pull request, #1372:
URL: https://github.com/apache/ratis/pull/1372

   ## What changes were proposed in this pull request?
   
   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.
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/RATIS-2430
   
   ## How was this patch tested?
   Patch was tested using unit tests.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to