[
https://issues.apache.org/jira/browse/CASSANDRA-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12723647#action_12723647
]
Jonathan Ellis commented on CASSANDRA-193:
------------------------------------------
So you are basically looking at doing a bulk scan no matter what.
Then the question becomes, is it worth trying to keep (partial) results of that
scan in memory to avoid re-doing the work next time around. If writes are
randomly distributed across the range then ISTM the answer is a clear No, but
I'm not sure how close real-world workloads would come to that.
Does it make sense to start with a non-caching version like I describe? I
think that a lot of the functionality implemented would be reusable, and it
would give us a useful starting point to give us a better feel for the
additional complexity your "full" version would entail.
Incidently, I don't think we should worry about the kind of locking you
mentioned. The point of the merkle tree is to save us from exchanging 90% of
keys; if we don't lock and the trees end up slightly de-synced and we exchange
a few keys at the edges that we wouldn't have to with a "perfect" algorithm,
that is a price I'm happy to pay for a much less complicated solution.
> Proactive repair
> ----------------
>
> Key: CASSANDRA-193
> URL: https://issues.apache.org/jira/browse/CASSANDRA-193
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jonathan Ellis
> Assignee: Stu Hood
> Fix For: 0.5
>
>
> 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.