[ https://issues.apache.org/jira/browse/CASSANDRA-1530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joaquin Casares updated CASSANDRA-1530: --------------------------------------- Attachment: 1530-joaquin.txt I added some code to RowMutationVerbHandler to check for forward hints, the forward hint variable to RowMutation, and quite a few lines to StorageProxy including an additional function addForwardHintHeader to facilitate the creation of forward hints. I've left the comments for which sections I coded to serve as a clear indicator when the code is merged. // TODO avoid creating map until we find a target that's not in the same datacenter as the current node // TODO refactor out addhint/addforwardhint method // TODO simplify import org.apache.cassandra.locator.*; in StorageProxy. > More-efficient cross-DC replication > ----------------------------------- > > Key: CASSANDRA-1530 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1530 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Jonathan Ellis > Fix For: 0.7.1 > > Attachments: 1530-joaquin.txt > > > Currently the coordinator node sends writes to each replica. In multi-dc > situations, it would be more efficient to have the coordinator talk to a > single node in each DC, which would forward the writes to the other replicas > local to it. (All replicas would continue to ack to the coordinator.) > Shouldn't be difficult to add a header to RMVH saying "consult the Strategy > to see who else is local to you and queue it off to them as well." > For example, consider two data centers with the following nodes: > DC1: A, B, C > DC2: D, E, F > A client connected to node A performs an insert that should be replicated to > {B,C,E,F}. Currently, A will send a MUTATION verb to each of those nodes > directly. But communication to E and F is relatively expensive since they > are in the other data center from A. So we'd like to send the mutation to > just one, say E, with a tag saying "forward this to F as well." -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.