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]
