You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz-wo Sze (Jira)" <ji...@apache.org> on 2025/02/07 17:49:00 UTC

[jira] [Updated] (RATIS-2245) StateMachineUpdater should wait for all apply transaction futures before taking snapshot and group remove

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

Tsz-wo Sze updated RATIS-2245:
------------------------------
    Component/s: server
        Summary: StateMachineUpdater should wait for all apply transaction futures before taking snapshot and group remove  (was: Ratis should wait for all apply transaction futures before taking snapshot and group remove)

> StateMachineUpdater should wait for all apply transaction futures before taking snapshot and group remove
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: RATIS-2245
>                 URL: https://issues.apache.org/jira/browse/RATIS-2245
>             Project: Ratis
>          Issue Type: Bug
>          Components: server
>            Reporter: Swaminathan Balachandran
>            Assignee: Swaminathan Balachandran
>            Priority: Critical
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> On Ratis Snapshot and group removal the statemachine just waits for apply transactions that have been applied on a single iteration. If there are no more transactions added onto the state machine and all of the apply transaction future are still in progress. The state machine ends up not waiting for the updater thread and ends up calling the notifyGroupRemove function and deletes the raft group directory. So this could lead to some node not being able to apply some of the transactions still in flight in case of a restart.



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