[ https://issues.apache.org/jira/browse/IGNITE-22914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887991#comment-17887991 ]
Roman Puchkovskiy commented on IGNITE-22914: -------------------------------------------- Thanks! > 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: 1.5h > 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)