[
https://issues.apache.org/jira/browse/CASSANDRA-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13057451#comment-13057451
]
Nicholas Telford commented on CASSANDRA-2045:
---------------------------------------------
bq. That's bad though, because then we can't access hints efficiently on a node
up/down message (we actually did it that way in 0.6 and learned our lesson.)
Good point. I retract that idea. :-)
bq. So we denormalize but we gain not having to do
secondary-lookup-per-mutation, which is our main motivation for the change.
(And single-destination-per-hint is by far the common case.)
I'm a bit confused here. There could be many mutations for a single key, we'd
need to store each of them. I do like the idea of being able to slide the
mutations though. Perhaps we could form the key from a compound of the
key-table-cf, so it would look something like this:
{noformat}
Hints: { // cf
<dest ip>: { // key
<key>-<table>-<cf>: { // super-column
<version>: <mutation> // column
}
}
}
{noformat}
Or is it vital that the key is stored separately from the table and cf?
> Simplify HH to decrease read load when nodes come back
> ------------------------------------------------------
>
> Key: CASSANDRA-2045
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2045
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Chris Goffinet
> Assignee: Nicholas Telford
> Fix For: 1.0
>
> Attachments:
> 0001-Changed-storage-of-Hints-to-store-a-serialized-RowMu.patch,
> 0002-Refactored-HintedHandoffManager.sendRow-to-reduce-co.patch,
> 0003-Fixed-some-coding-style-issues.patch,
> 0004-Fixed-direct-usage-of-Gossiper.getEndpointStateForEn.patch,
> 0005-Removed-duplicate-failure-detection-conditionals.-It.patch,
> 0006-Removed-handling-of-old-style-hints.patch, 2045-v3.txt,
> CASSANDRA-2045-simplify-hinted-handoff-001.diff,
> CASSANDRA-2045-simplify-hinted-handoff-002.diff
>
>
> Currently when HH is enabled, hints are stored, and when a node comes back,
> we begin sending that node data. We do a lookup on the local node for the row
> to send. To help reduce read load (if a node is offline for long period of
> time) we should store the data we want forward the node locally instead. We
> wouldn't have to do any lookups, just take byte[] and send to the destination.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira