[ 
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)

Reply via email to