Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 35098 invoked from network); 20 Oct 2009 21:56:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Oct 2009 21:56:23 -0000 Received: (qmail 4212 invoked by uid 500); 20 Oct 2009 21:56:23 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 4194 invoked by uid 500); 20 Oct 2009 21:56:23 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 4019 invoked by uid 99); 20 Oct 2009 21:56:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 21:56:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 21:56:20 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 776BF234C1F1 for ; Tue, 20 Oct 2009 14:55:59 -0700 (PDT) Message-ID: <62137933.1256075759487.JavaMail.jira@brutus> Date: Tue, 20 Oct 2009 21:55:59 +0000 (UTC) From: "Sandeep Tata (JIRA)" To: cassandra-commits@incubator.apache.org Subject: [jira] Commented: (CASSANDRA-497) Include bootstrap targets in consistencylevel computations In-Reply-To: <1604772078.1255732891384.JavaMail.jira@brutus> 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-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12767958#action_12767958 ] Sandeep Tata commented on CASSANDRA-497: ---------------------------------------- 1. Making getReadStorageEndPoints the only method a replicationstrategy needs to implement is a nice move. Looks good. 2. I see the value in including bootstrapping nodes in the blockFor calculations. Reads are never directed to bootstrapping nodes, so the app should be insulated from having to reason about bootstrap for its consistency guarantees. The current logic doesn't guarantee that: determineBlockFor will need to be fixed. You need to block for (#bootstrapping nodes + #determined as if there were no bootstrapping nodes). For instance, if there's one node that's being bootstrapped in the range of interest, ConsistencyLevel.ONE should block for *2* not *1* so that a read is guaranteed to hit at least one copy. ALL will work correctly. QUORUM will work correctly for cases where only 1 node is being bootstrapped for this range, > Include bootstrap targets in consistencylevel computations > ---------------------------------------------------------- > > Key: CASSANDRA-497 > URL: https://issues.apache.org/jira/browse/CASSANDRA-497 > Project: Cassandra > Issue Type: Bug > Reporter: Jonathan Ellis > Assignee: Jonathan Ellis > Priority: Minor > Fix For: 0.5 > > Attachments: 0001-CASSANDRA-497-rename-nodePicker-replicationStrategy.txt, 0002-make-write-targets-computable-independent-of-replicati.txt, 0003-Make-EndPoint-objects-immmutable-so-hashcode-can-t-ch.txt > > > We want to preserve ConsistencyLevel semantics during bootstrap, and if a CL.quorum/all write is sent to a bootstrap target, it would have to wait for the forwarded write to complete to report in turn that the write is good. > Leaving write propagation to be done by the write originator means we don't have this extra layer of latency. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.