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 Polovtcev (Jira)" <ji...@apache.org> on 2022/11/11 15:00:00 UTC
[jira] [Commented] (IGNITE-18122) Track last applied term and group config in storages
[ 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)