Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 72584 invoked from network); 20 Jul 2010 20:00:00 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Jul 2010 20:00:00 -0000 Received: (qmail 11247 invoked by uid 500); 20 Jul 2010 19:59:59 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 11212 invoked by uid 500); 20 Jul 2010 19:59:58 -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 11199 invoked by uid 99); 20 Jul 2010 19:59:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Jul 2010 19:59:58 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of bigcontentflow@gmail.com designates 209.85.214.194 as permitted sender) Received: from [209.85.214.194] (HELO mail-iw0-f194.google.com) (209.85.214.194) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Jul 2010 19:59:50 +0000 Received: by iwn34 with SMTP id 34so1033512iwn.1 for ; Tue, 20 Jul 2010 12:58:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=iB5foHmDn6j9S86flpnHjBspm5vtumESUJnSNcmGz48=; b=oIFbpjFiT/98pHs4oiy3zORI/7gtaDltG7+vjpq2eJPxjalz2ai7N/PwNXigxK99PX MrUGXCyLNhU11xMg+7Z9uPccrHQ1WnPX4EK7ZaYSvjno8kVJGHnHuelEVw0M2UND1zci Mkf+GAeNO11b4mgbBJkO4YT5jrhilE0PaoFfs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=jLFtbAluFL1f7/2BzitPnxC/IH/Nd7d2oOofOfnqsTYEfdQLeyaYyHdrZLp82rHZXf epAMSctwhQnyazZdijK36eh7SED/r4Qy4GzlH2NhNNq2hWKRg9KPjZPtPt5q74hkhx/U /wqIF/er+9y7QkkApwVN52a/HJCpSso7P5O2k= MIME-Version: 1.0 Received: by 10.231.36.134 with SMTP id t6mr7730708ibd.128.1279655909281; Tue, 20 Jul 2010 12:58:29 -0700 (PDT) Received: by 10.231.46.71 with HTTP; Tue, 20 Jul 2010 12:58:29 -0700 (PDT) Date: Tue, 20 Jul 2010 12:58:29 -0700 Message-ID: Subject: more questions on Cassandra ACID properties From: Alex Yiu To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=0022152d5fd1e85057048bd71be3 X-Virus-Checked: Checked by ClamAV on apache.org --0022152d5fd1e85057048bd71be3 Content-Type: text/plain; charset=ISO-8859-1 Hi, I have more questions on Cassandra ACID properties. Say, I have a row that has 3 columns already: colA, colB and colC And, if two *concurrent* clients perform a different insert(...) into the same row, one insert is for colD and the other insert is for colE. Then, Cassandra would guarantee both columns will be added to the same row. Is that correct? That is, insert(...) of a column does NOT involving reading and rewriting other existing columns of the same row? That is, we do not face the following situation: client X: read colA, colB and colC; then write: colA, colB, colC and colD client Y: read colA, colB and colC; then write: colA, colB, colC and colE BTW, it seems to me that insert() API as described in the wiki page: http://wiki.apache.org/cassandra/API should handle updating an existing column as well by the replacing the existing column value. If that is the case, I guess we should change the wording from "insert" to "insert or update" in the wiki doc And, ideally, insert(...) API operation name would be adapted to update_or_insert(...) Looking forward to replies that may confirm my understanding. Thanks! Regards, Alex Yiu --0022152d5fd1e85057048bd71be3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable


Hi,

I have more questions = on=A0Cassandra ACID properties.=A0
Say, I have a row that has 3 c= olumns already: colA, colB and colC

And, if two *c= oncurrent* clients perform a different=A0insert(...) into the same row,
one insert is for colD and the other insert is for colE.=A0
= Then, Cassandra would guarantee both columns will be added to the same row.=

Is that correct?=A0

That= is, insert(...) of a column does NOT involving reading and rewriting other= existing columns of the same row?=A0
That is, we do not face the following situation:
client X: r= ead colA, colB and colC; then write: colA, colB, colC and colD
cl= ient Y: read colA, colB and colC; then write: colA, colB, colC and colE


BTW, it seems to me that insert() API as= described in the wiki page:=A0
should h= andle updating an existing column as well by the replacing the existing col= umn value.

If that is the case, I guess we should change the wordi= ng from "insert" to "insert or update" in the wiki doc<= /div>
And, ideally, insert(...) API operation name would be adapted to= =A0update_or_insert(...)


Looking forward to replies that may conf= irm my understanding.
Thanks!


=
Regards,
Alex Yiu
=A0

--0022152d5fd1e85057048bd71be3--