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

Jeff Jirsa edited comment on CASSANDRA-5791 at 2/10/15 7:25 PM:
----------------------------------------------------------------

Duplicating my comment from 8703 here since its a dupe and prone to closure :

-I've got a version at 
https://github.com/jeffjirsa/cassandra/commits/cassandra-8703 that follows the 
scrub read path and implements nodetool verify / sstableverify. This works, for 
both compressed and uncompressed, but requires walking the entire sstable and 
verifies each on disk atom. This works, it just isn't very fast (though it is 
thorough).
The faster method will be checking against the Digest.sha1 file (which actually 
contains an adler32 hash), and skipping the full iteration. I'll rebase and 
work that in, using the 'walk all atoms' approach above as an optional extended 
verify or similar, unless someone objects. Also going to rename the DIGEST 
sstable component to Digest.adler32 since it's definitely not sha1 anymore.- 
(New patch attached)


was (Author: jjirsa):
Duplicating my comment from 8703 here since its a dupe and prone to closure :

-I've got a version at 
https://github.com/jeffjirsa/cassandra/commits/cassandra-8703 that follows the 
scrub read path and implements nodetool verify / sstableverify. This works, for 
both compressed and uncompressed, but requires walking the entire sstable and 
verifies each on disk atom. This works, it just isn't very fast (though it is 
thorough).
The faster method will be checking against the Digest.sha1 file (which actually 
contains an adler32 hash), and skipping the full iteration. I'll rebase and 
work that in, using the 'walk all atoms' approach above as an optional extended 
verify (-e) or similar, unless someone objects. Also going to rename the DIGEST 
sstable component to Digest.adler32 since it's definitely not sha1 anymore.- 
(New patch attached)

> A nodetool command to validate all sstables in a node
> -----------------------------------------------------
>
>                 Key: CASSANDRA-5791
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5791
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: sankalp kohli
>            Assignee: Jeff Jirsa
>            Priority: Minor
>         Attachments: cassandra-5791.patch.txt
>
>
> CUrrently there is no nodetool command to validate all sstables on disk. The 
> only way to do this is to run a repair and see if it succeeds. But we cannot 
> repair the system keyspace. 
> Also we can run upgrade sstables but that re writes all the sstables. 
> This command should check the hash of all sstables and return whether all 
> data is readable all not. This should NOT care about consistency. 
> The compressed sstables do not have hash so not sure how it will work there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to