Skip to content

RATIS-2430. Write snapshot to temporary path until finish#1372

Draft
devabhishekpal wants to merge 2 commits intoapache:masterfrom
devabhishekpal:RATIS-2430
Draft

RATIS-2430. Write snapshot to temporary path until finish#1372
devabhishekpal wants to merge 2 commits intoapache:masterfrom
devabhishekpal:RATIS-2430

Conversation

@devabhishekpal
Copy link

What changes were proposed in this pull request?

Today when SnapshotInstallatioHandler#checkAndInstallSnapshot 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant