You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2022/09/07 08:40:00 UTC

[jira] [Assigned] (IGNITE-17445) RocksDbKeyValueStorage recreates DB on start, so data can't be found until Raft log is replayed

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

Vladislav Pyatkov reassigned IGNITE-17445:
------------------------------------------

    Assignee: Vladislav Pyatkov

> RocksDbKeyValueStorage recreates DB on start, so data can't be found until Raft log is replayed
> -----------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-17445
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17445
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Denis Chudov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> RocksDbKeyValueStorage recreates DB on start. This means that entries that were put to this storage earlier, can or cant be found until raft log is replayed, i.e. the behavior is undefined. For example, this can cause assertion on node recovery:
> {code:java}
> java.lang.AssertionError: Configuration revision must be greater than local node applied revision [msRev=0, appliedRev=1
> {code}
> which means that applied revision in vault is 1 but only 0 is found in meta storage, as the storage of meta storage is being recreated.
> For now, the only thing that saves us from this assertion to be thrown every time, is that operations related to node recovery, applied from distributed configuration (see IgniteImpl#notifyConfigurationListeners ), take some time and raft log is small enough to replay faster than the performing of recovery operations. 



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