[
https://issues.apache.org/jira/browse/CASSANDRA-13321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15951431#comment-15951431
]
Jason Brown commented on CASSANDRA-13321:
-----------------------------------------
Overall, I like the ideas here, and the {{VersionedComponent}} should work
fine. I mostly just have some minor general questions and a few (perhaps
premature) trivial nits.
questions:
- In {{SSTableReader#mutateRepaired}} and {{#mutateLevel}}, you call
{{sstableMetadataVersion.get()}} and pass the value to
{{MetadataSerializer#mutateLevel/mutateRepaired}}, where there's a bit of magic
that adds 1 to the {{fileVersion}}. Then, the next line in
{{SSTableReader#mutateRepaired}} calls
{{sstableMetadataVersion.incrementAndGet()}}. Thus, I'm not sure if the
{{fileVersion}} argument to {{MetadataSerializer#mutateLevel/mutateRepaired}}
should be the current file version, or the next file version.
- when stats file is updated for a specific sstable generation, will all the
versions of stats/crc files be cleaned up when the owning sstable is deleted?
- Is the addition of an extra "number" in the file name going to confuse any
tools we have? Admiteddly I was lazy and didn't look yet.
trivial nits:
- it would be nice to add a comment to {{VersionedComponent}} to explain how
{{VersionedComponent#version}} is different from {{Descriptor#generation}}.
- {{VersionedComponent}} constuctors. The variable name for the {{Type}}
parameter is {{stats}} in several places. I think you meant to call it {{type}}
(or something similar) and {{stats}} was just a mistake/quick thing to do while
you were knocking it out.
> Add a checksum component for the sstable metadata (-Statistics.db) file
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-13321
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13321
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Marcus Eriksson
> Assignee: Marcus Eriksson
> Fix For: 4.x
>
>
> Since we keep important information in the sstable metadata file now, we
> should add a checksum component for it. One danger being if a bit gets
> flipped in repairedAt we could consider the sstable repaired when it is not.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)