[ 
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)

Reply via email to