Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 61404 invoked from network); 9 Aug 2010 17:18:23 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 9 Aug 2010 17:18:23 -0000 Received: (qmail 99817 invoked by uid 500); 9 Aug 2010 17:18:21 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 99704 invoked by uid 500); 9 Aug 2010 17:18:21 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 99696 invoked by uid 99); 9 Aug 2010 17:18:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Aug 2010 17:18:20 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.210.44] (HELO mail-pz0-f44.google.com) (209.85.210.44) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Aug 2010 17:18:12 +0000 Received: by pzk6 with SMTP id 6so4372253pzk.31 for ; Mon, 09 Aug 2010 10:17:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.169.12 with SMTP id r12mr13913708wfe.239.1281374270322; Mon, 09 Aug 2010 10:17:50 -0700 (PDT) Sender: scode@scode.org Received: by 10.220.178.136 with HTTP; Mon, 9 Aug 2010 10:17:49 -0700 (PDT) X-Originating-IP: [213.114.156.79] In-Reply-To: References: <1281118117.19955.29.camel@rnwk-dell> <1281118528.19955.37.camel@rnwk-dell> <72560558-37A1-47E7-AC54-0BA6D5A46C9F@setf.de> Date: Mon, 9 Aug 2010 19:17:49 +0200 X-Google-Sender-Auth: Y7TROeNttGsuMoWe6kPAbetZVAk Message-ID: Subject: Re: batch_mutate atomicity From: Peter Schuller To: user@cassandra.apache.org Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org > I am using the familiar meanings from ACID: > > atomic means either the entire update will succeed or none of it. > > isolated means other threads will not see partial updates while it is > being applied. A related concern is whether there is a write *ordering* guarantee for mutations within a row key. Ensuring consistency in the face of concurrent access can in some (probably several) cases become a lot easier with an ordering guarantee which would otherwise necessitate an RPC call between potentially every mutation (depending on where dependencies between writes are). Upon cursory inspection it *seems* to me that ordering is maintained, but even if this is correct, can one consider Cassandra to have such an ordering guarantee or is any such behavior an artifact of current implementation details? By ordering guarantee I am only thinking of single column reads or distinct get_slice() calls; I am not expecting ordering guarantees w.r.t. visibility within a single get_slice(). (Additionally I am assuming QUOROM or RF=1, else it would not be useful to rely on anyway.) -- / Peter Schuller