Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 90914 invoked from network); 2 Dec 2010 17:09:40 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Dec 2010 17:09:40 -0000 Received: (qmail 44522 invoked by uid 500); 2 Dec 2010 17:09:40 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 44506 invoked by uid 500); 2 Dec 2010 17:09:40 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 44498 invoked by uid 99); 2 Dec 2010 17:09:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 17:09:40 +0000 X-ASF-Spam-Status: No, hits=-1996.4 required=10.0 tests=ALL_TRUSTED,FS_REPLICA X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 17:09:37 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id oB2H9EiA007848 for ; Thu, 2 Dec 2010 17:09:16 GMT Message-ID: <6077170.75481291309754123.JavaMail.jira@thor> Date: Thu, 2 Dec 2010 12:09:14 -0500 (EST) From: "T Jake Luciani (JIRA)" To: commits@cassandra.apache.org Subject: [jira] Updated: (CASSANDRA-1530) More-efficient cross-DC replication MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CASSANDRA-1530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] T Jake Luciani updated CASSANDRA-1530: -------------------------------------- Attachment: 1530_v1.txt First pass at this. 1) refactored code 2) let FWD hints be 4 bytes per address as jbellis requested 3) avoid fwd hints when already in local DC 4) remove fwd hint header when we send to final destination to avoid infinite loops I'm not sure how I can unit test this yet, there are very few ProxyService tests overall. I will fully test on a live cluster soon. > 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 > Assignee: T Jake Luciani > Fix For: 0.7.1 > > Attachments: 1530-cleaned.txt, 1530-joaquin.txt, 1530_v1.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.