[ 
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

        

Reply via email to