[
https://issues.apache.org/jira/browse/IGNITE-17445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-17445:
--
Description:
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.
was:
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.
> 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
>Priority: Major
>
> 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)