You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksandr Polovtsev (Jira)" <ji...@apache.org> on 2025/03/17 08:46:00 UTC
[jira] [Resolved] (IGNITE-24694) JRaft should be able to replay the log from a non-zero position
[ https://issues.apache.org/jira/browse/IGNITE-24694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksandr Polovtsev resolved IGNITE-24694.
------------------------------------------
Resolution: Won't Fix
This approach proved to be not viable and does not fix the original problem.
> JRaft should be able to replay the log from a non-zero position
> ---------------------------------------------------------------
>
> Key: IGNITE-24694
> URL: https://issues.apache.org/jira/browse/IGNITE-24694
> Project: Ignite
> Issue Type: Improvement
> Reporter: Aleksandr Polovtsev
> Assignee: Aleksandr Polovtsev
> Priority: Major
> Labels: ignite-3
>
> When a new table processor is added to the {{ZonePartitionRaftListener}} its storage gets initialized with some information, like the last applied index and Raft group configuration. However, a node can die or be restarted before this information gets flushed onto a persistent storage which means that upon the consecutive startup, this storage will return 0 as its last applied index. Since on startup we use the minimum last applied index across all storages during Raft recovery, this value will also be 0 and JRaft will think that it needs to replay the log from the beginning of time, while actually this came from a storage for an empty table, and its applied index shouldn't even be taken into account. An even bigger problem is that the log might have been truncated and cannot be restored from the 0 index, so the node won't even be able to start.
> It is proposed to modify JRaft recovery procedure to replay the log from the smallest available index in case the index from the startup information provided by our storages is equal to 0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)