cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joaquin Casares (JIRA)" <>
Subject [jira] Updated: (CASSANDRA-1530) More-efficient cross-DC replication
Date Tue, 16 Nov 2010 19:12:22 GMT


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:
>             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.

View raw message