[
https://issues.apache.org/jira/browse/IGNITE-22914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887954#comment-17887954
]
Kirill Tkalenko commented on IGNITE-22914:
------------------------------------------
Looks good!
> Store a checksum with each Metastorage revision
> -----------------------------------------------
>
> Key: IGNITE-22914
> URL: https://issues.apache.org/jira/browse/IGNITE-22914
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: iep-128, ignite-3
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Currently, for each Metastorage revision, we store the revision number and
> its timestamp. We should add the third element a checksum.
> Having the checksums will allow us to make sure that Metastorage does not
> diverge. This will be implemented in IGNITE-22916 where we'll make a
> checksum-based validation of Metastorage of a node that reenters Metastorage
> (that is, the node did not participate in Metastorage repair and gets
> migrated to the repaired part of the cluster).
> The checksum is to be calculated from the Metastorage command generating the
> revision (it is enough to include in the checksum the changes the command
> applies to the Metastorage AND the result it returns to the caller), and it
> should also contain the previous checksum, so the checksums will form a
> chain. First revision would use a zero checksum as the 'previous revision
> checksum'.
> When Metastorage is compacted up to revision N, checksums up to revision N
> are to be removed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)