Return-Path: Delivered-To: apmail-cassandra-dev-archive@www.apache.org Received: (qmail 62782 invoked from network); 28 Jun 2010 12:32:01 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 28 Jun 2010 12:32:01 -0000 Received: (qmail 91376 invoked by uid 500); 28 Jun 2010 12:32:01 -0000 Delivered-To: apmail-cassandra-dev-archive@cassandra.apache.org Received: (qmail 91166 invoked by uid 500); 28 Jun 2010 12:31:59 -0000 Mailing-List: contact dev-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 dev@cassandra.apache.org Received: (qmail 91157 invoked by uid 99); 28 Jun 2010 12:31:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jun 2010 12:31:58 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gdusbabek@gmail.com designates 209.85.212.172 as permitted sender) Received: from [209.85.212.172] (HELO mail-px0-f172.google.com) (209.85.212.172) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jun 2010 12:31:52 +0000 Received: by pxi16 with SMTP id 16so1326729pxi.31 for ; Mon, 28 Jun 2010 05:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:reply-to :in-reply-to:references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=0l9EsGOqpYybaVjTWrcXPd49vJqKK56ReIkSGhCj9Rs=; b=D7n7qMTNmnLY8MCUi4DZTPafnfVvgmAAy4aEu9YPiZ2qVM1pByn8L8B/+UWNoxMaZD cEZE8NitqAowCq3MyBGDWzP5tgphF5/hzR4LLrcIHtk/OB8gepgXWUeDqnPt1XGWhq65 fq9XEbTXEAcnWqO6WCMxAJL6VpeDbDmA7FoMA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:content-type:content-transfer-encoding; b=xo9xAc2gPc5EssP8jqofhAAgIdVMant5ZZUkN8Sd88dWT5jjyNq4QQucua3y7IHgit s9rZZfNMSQ+TAR9XrRhlitTdXg0ehA4zr+4UCmch4xtUuma58Af0zLiVbALqpt6Cx+ZF OyKprG4AEsuCXMvEQbvtCiJdZsXAM8DEAOlC8= MIME-Version: 1.0 Received: by 10.142.8.27 with SMTP id 27mr3536795wfh.61.1277728230930; Mon, 28 Jun 2010 05:30:30 -0700 (PDT) Received: by 10.220.73.136 with HTTP; Mon, 28 Jun 2010 05:30:30 -0700 (PDT) Reply-To: gdusbabek@gmail.com In-Reply-To: <6E94D840-B166-478A-B04E-25A0D89F1679@malhar.net> References: <6E94D840-B166-478A-B04E-25A0D89F1679@malhar.net> Date: Mon, 28 Jun 2010 07:30:30 -0500 Message-ID: Subject: Re: "CommitLog" semantics From: Gary Dusbabek To: dev@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Mon, Jun 28, 2010 at 04:44, Sriram Srinivasan wrote: > Hiya. > > The architecture internals document and various presentations (such as > http://www.slideshare.net/jhammerb/data-presentations-cassandra-sigmod) s= ay > something like the following: > > =A0... a row mutation is first written to the commit log before being > propagated to the memtable ... > > This gives the impression of traditional commitlog semantics found in > databases and transaction managers, where a sync'd write is a confirmed > state change. > > However, this is NOT the semantics of the code (db/Table.apply), which > merely queues up a log request to be flushed, then directly proceeds to > update the memtable. Which means it is possible for a client to receive a > confirmation (even in a quorum case) before the data has been written to > disk. > > Am I wrong? In batch mode, we still block while the commit log is written. See BatchCommitLogExecutorService.add(). That add() method is what gets called in Table.apply(). Gary. > > --sriram > > >