[ 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