You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2022/11/11 11:43:00 UTC
[jira] [Comment Edited] (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=17632162#comment-17632162 ]
Roman Puchkovskiy edited comment on IGNITE-18122 at 11/11/22 11:42 AM:
-----------------------------------------------------------------------
[~apolovtcev] could you please take a look at the attached PR?
was (Author: rpuch):
@Aleksandr Polovtcev could you please take a look at the attached PR?
> 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: 20m
> 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)