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

Nicholas Telford updated CASSANDRA-2045:
----------------------------------------

    Attachment: CASSANDRA-2045-simplify-hinted-handoff-001.diff

Implements serialized RowMutations for Hints.

This should be optional, but currently isn't. The "if (true)" should be 
replaced with some logic to either detect the appropriate strategy from the CF 
histogram or using a manual per-CF setting. I've left this out for now pending 
a consensus on the matter.

I'm not hugely familiar with the Cassandra codebase, so it's quite possible 
I've missed something.

Unit tests are currently missing, I'll get those sorted out next. I wanted to 
get feedback on the implementation before continuing.

I've optimised the patch for fewest changes, as such there's lots of room for 
refactoring (e.g. HHM.sendRow() and HHM.sendMutation() share a lot of 
validation code).

Importantly, the RowMutations are indexed under a sub-column representing the 
MessagingService.version_ that serialized them. This allows nodes running on a 
different version to classify these hints as invalid and discard them.

> 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
>             Fix For: 1.0
>
>         Attachments: CASSANDRA-2045-simplify-hinted-handoff-001.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