[ 
https://issues.apache.org/jira/browse/CASSANDRA-13321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16189881#comment-16189881
 ] 

Jason Brown commented on CASSANDRA-13321:
-----------------------------------------

Coming back to this after a long time I agree with the decision to simplify the 
solution for adding checksums, and the most recent branch satisfies that. 

A few small comments:

- on the serialize path, call {{DataOutputBuffer@getData()}} instead of 
{{DataOutputBuffer#toByteArray}} as the latter allocates a new buffer and 
copies, whereas the former just hands over it's backing byte array from the 
{{ByteBuffer}}.
- {{Hashing.md5()}} - we *could* choose to swap to some other, more lighter 
weight algo from guava'a {{Hasher}}, but as this code path is called very 
infrequently it's probably not worth bikeshedding
- on the deserialize path, you build up the {{lengths}} map in the first 
{{for}} loop. Then in the second {{for}} loop, you determine the {{size}} to 
read from the {{in}} stream. Admittedly, it took me some staring at that {{if}} 
to figure out what exactly it was doing. While correct, it might be friendlier 
for code reading if we add the length for the {{lastType}} to the map after the 
first {{for}} loop completes - then you won't need the {{if}} branching in the 
second loop.

Beyond these nits, I'm +1. Nice work simplifying this patch to the minimal work 
required.

> 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.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to