cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Brown (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13321) Add a checksum component for the sstable metadata (-Statistics.db) file
Date Fri, 31 Mar 2017 18:20:41 GMT

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

Mime
View raw message