Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0A0FF175BC for ; Tue, 3 Mar 2015 23:19:11 +0000 (UTC) Received: (qmail 4759 invoked by uid 500); 3 Mar 2015 23:11:07 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 4688 invoked by uid 500); 3 Mar 2015 23:11:06 -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 4661 invoked by uid 99); 3 Mar 2015 23:11:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Mar 2015 23:11:06 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of woolfel@gmail.com designates 209.85.217.177 as permitted sender) Received: from [209.85.217.177] (HELO mail-lb0-f177.google.com) (209.85.217.177) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Mar 2015 23:10:42 +0000 Received: by lbvp9 with SMTP id p9so17603954lbv.8 for ; Tue, 03 Mar 2015 15:08:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=AGOumd3RXinJJUwyegnWeXXEk3oZLiP/GCuqo7jgGig=; b=hlHPWUafCfk+1YxDHIX5m4zW6eEqN90dwFsc+SOUbzrTpeUkGnnfGJpg5Iqv9kPFGx XjQQQYzzx0IwVX9/A/V1PEpkVC3mqUkPca5Um4bX1Hbn8rhxhyOcfNc5ZOCb47XF6yoP cMrUDIyuWqLx64ov9AOIOAAL4TOqehhbLg0F61W6GCjJPsOKDJj2Qsqc8V+1KoqB/IIK amu4Me7etajh/tYhF9WnUlFiJljNdb5oPT42irw+ct+MJPth/pJgGYq31I09MY6JvYjt fvIKp7BuaNcBfcb8xDe3rG/qXh6mmDMJ20MEdO1S6iGLa+qmLlr1tVbwn9KNBMlU00Zl DWGg== MIME-Version: 1.0 X-Received: by 10.152.27.232 with SMTP id w8mr936518lag.51.1425424105740; Tue, 03 Mar 2015 15:08:25 -0800 (PST) Received: by 10.25.66.130 with HTTP; Tue, 3 Mar 2015 15:08:25 -0800 (PST) In-Reply-To: References: Date: Tue, 3 Mar 2015 18:08:25 -0500 Message-ID: Subject: Re: Documentation of batch statements From: Peter Lin To: "user@cassandra.apache.org" Content-Type: multipart/alternative; boundary=089e0160a3207a1de005106a6954 X-Virus-Checked: Checked by ClamAV on apache.org --089e0160a3207a1de005106a6954 Content-Type: text/plain; charset=UTF-8 I agree with jonathan haddad. A traditional ACID transaction following the classic definition, isolation is necessary. Having said that, there is different levels of isolation. http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels Saying the distinction is pendantic is wrong in my bias opinion. These are well established terms that have been around for over 2 decades. Just because lots of programmers don't bother to understand the distinction, doesn't make it any less important. On Tue, Mar 3, 2015 at 5:56 PM, Jonathan Haddad wrote: > This is often a confusing topic because someone came up with the term > ACID, which lists isolation as well as atomicity, and as a result most > people assume they are independent. This is incorrect. For something to > be atomic, it actually requires isolation. > > "An operation is atomic if no intermedia states can be observed. It seems > to jump directly from the initial state to the result state." > - Concepts, Techniques, and Models of Computer Programming By Peter > Van-Roy, Seif Haridi > > > > > On Tue, Mar 3, 2015 at 2:30 PM Tyler Hobbs wrote: > >> >> On Tue, Mar 3, 2015 at 2:39 PM, Jonathan Haddad >> wrote: >> >>> Actually, that's not true either. It's technically possible for a batch >>> to be partially applied in the current implementation, even with logged >>> batches. "atomic" is used incorrectly here, imo, since more than 2 states >>> can be visible, unapplied & applied. >> >> >> That's a matter of isolation, not atomicity. Although, with a long >> enough gap between partial and full application, the distinction becomes >> somewhat pedantic, I suppose. >> >> >> -- >> Tyler Hobbs >> DataStax >> > --089e0160a3207a1de005106a6954 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
=C2=A0
I agree with jonathan haddad. A = traditional ACID transaction following the classic definition, isolation is= necessary. Having said that, there is different levels of isolation.
<= br>http://en.wikipedia.org/wiki/Isolation_%28database_syste= ms%29#Isolation_levels

Saying the distinction is pendantic= is wrong in my bias opinion. These are well established terms that have be= en around for over 2 decades. Just because lots of programmers don't bo= ther to understand the distinction, doesn't make it any less important.=



On Tue, Mar 3, 2015 at 5:56 PM, Jonathan Haddad <jon@jonhaddad.com>= ; wrote:
This is = often a confusing topic because someone came up with the term ACID, which l= ists isolation as well as atomicity, and as a result most people assume the= y are independent.=C2=A0 This is incorrect.=C2=A0 For something to be atomi= c, it actually requires isolation. =C2=A0

"An opera= tion is atomic if no intermedia states can be observed.=C2=A0 It seems to j= ump directly from the initial state to the result state."=C2=A0
<= div>-=C2=A0Concepts, Techniques, and Models of Computer Programming=C2=A0By Peter Van-Roy= , Seif Haridi




On Tue, Mar 3, 2015 at 2:30 PM Tyler Hobbs= <tyler@datastax= .com> wrote:

On Tue, Mar 3, 2015 a= t 2:39 PM, Jonathan Haddad <jon@jonhaddad.com> wrote:
Actually, that's not true either.=C2=A0 It&= #39;s technically possible for a batch to be partially applied in the curre= nt implementation, even with logged batches. =C2=A0"atomic" is us= ed incorrectly here, imo, since more than 2 states can be visible, unapplie= d & applied.

That's a matter of isolation, not atomicity.=C2=A0 = Although, with a long enough gap between partial and full application, the = distinction becomes somewhat pedantic, I suppose.


--
Tyler Hob= bs
DataStax
<= /div>

--089e0160a3207a1de005106a6954--