[
https://issues.apache.org/jira/browse/IGNITE-18122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17632401#comment-17632401
]
Aleksandr Polovtcev commented on IGNITE-18122:
----------------------------------------------
Looking good!
> Track last applied term and group config in storages
> ----------------------------------------------------
>
> Key: IGNITE-18122
> URL: https://issues.apache.org/jira/browse/IGNITE-18122
> Project: Ignite
> Issue Type: Improvement
> Components: persistence
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 3.5h
> Remaining Estimate: 0h
>
> We need last applied index, term and group config to build a snapshot meta.
> In the current implementation, only the index is stored our storages (MV and
> TX), but term and config are taken from JRaft's {{{}LogManager{}}}. This is
> unreliable as the log might be truncated.
> We must store term and config in our storages as well (term in both of them
> as it is kinda required attribute of a RAFT index, and group only in MV
> storage).
> Also, we must make sure that on ANY command processed by
> {{PartitionListener}} (and on configuration committed event, too), we update
> lastAppliedIndex+term in one of the storages, Otherwise, a resulting gap
> might hinder {{AppendEntries}} calls to followers requiring to install a
> snapshot in an infinite loop.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)