[ 
https://issues.apache.org/jira/browse/CASSANDRA-193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stu Hood updated CASSANDRA-193:
-------------------------------

    Attachment: 193-3-aes-preparation.diff
                193-2-tree.diff
                193-1-tree-preparation.diff

Alright, here is a rebased version of the patchset containing only 5 patches 
again, which match up with the files changed in the earlier patchsets.

Since the comment I made on Nov 21st, I refactored the MerkleTree structure 
into a binary tree, which dropped 750 lines from the patch, and made things 
much much clearer in general. Additionally, the MerkleTree now almost 
exclusively uses methods from dht.Range when searching for ranges, which 
removed a whole bunch special casing for the minimum token. No other files 
changed by more than 5-10 lines, and in general, I feel very happy to have 
admitted defeat on the b-tree idea.

I've subjected this to system tests with all partitioners, and it passed with 
flying colors. Thanks!

> Proactive repair
> ----------------
>
>                 Key: CASSANDRA-193
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-193
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Stu Hood
>             Fix For: 0.5
>
>         Attachments: 193-1-tree-preparation.diff, 
> 193-1-tree-preparation.diff, 193-1-tree-preparation.diff, 193-2-tree.diff, 
> 193-2-tree.diff, 193-2-tree.diff, 193-3-aes-preparation.diff, 
> 193-3-aes-preparation.diff, 193-3-aes-preparation.diff, 193-4-aes.diff, 
> 193-4-aes.diff, 193-4-aes.diff, 193-5-manual-repair.diff, 
> 193-5-manual-repair.diff, 193-6-inverted-filter.diff, 
> 193-6-inverted-filter.diff, 193-7-disable-caching-and-fix-minimum-token.diff, 
> 193-breakdown.txt, 193-breakdown.txt, mktree-and-binary-tree.png
>
>
> Currently cassandra supports "read repair," i.e., lazy repair when a read is 
> done.  This is better than nothing but is not sufficient for some cases (e.g. 
> catastrophic node failure where you need to rebuild all of a node's data on a 
> new machine).
> Dynamo uses merkle trees here.  This is harder for Cassandra given the CF 
> data model but I suppose we could just hash the serialized CF value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to