From user-return-62521-archive-asf-public=cust-asf.ponee.io@cassandra.apache.org Tue Oct 16 18:51:09 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 07021180649 for ; Tue, 16 Oct 2018 18:51:08 +0200 (CEST) Received: (qmail 56338 invoked by uid 500); 16 Oct 2018 16:51:07 -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 56321 invoked by uid 99); 16 Oct 2018 16:51:06 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Oct 2018 16:51:06 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9125DC0E6A for ; Tue, 16 Oct 2018 16:51:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.897 X-Spam-Level: * X-Spam-Status: No, score=1.897 tagged_above=-999 required=6.31 tests=[DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id B8OfkLToSwuV for ; Tue, 16 Oct 2018 16:51:05 +0000 (UTC) Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 61DE05F387 for ; Tue, 16 Oct 2018 16:51:05 +0000 (UTC) Received: by mail-wr1-f48.google.com with SMTP id a13-v6so26381395wrt.5 for ; Tue, 16 Oct 2018 09:51:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=zvEA0oyaFla3Z1GwU2w9VSBjaFHyRYof7QTb0vu4hxQ=; b=GWFDPFP2Ir1LtOZUfbShAG1sxxIHNZzpZG2rhc/rnZvQIeNnH+G1HyOWJhbN9ywy8y rhWhLPZv2eFv2aCo+aAbEJT9TNeFkZa+lWlTI6pFerp0ar25avIstywEl0dfkfW6+4Fo 5EtWz7IS4Tt+7SG4sSOOdhJHjJqQRrIsxOrYxC/o8lqjcKJgJWLSViOu9Tspxo9kgRAg vHmC2wrrHM5LRrizy0yl1+yZIJOcCke4e0OZpypDnH6kg3pfijOaPHwL7Dx76YfxLLc6 InqeAeDWUSTdxIL48NUD/GmVDE0OC4p+EGVXp20Z063lSFjXOuouQqzyA14F7mMDREiS KNcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=zvEA0oyaFla3Z1GwU2w9VSBjaFHyRYof7QTb0vu4hxQ=; b=X3gbmlrSasT+6AzlgP7tNXva/vcu4EgK2kTu0wycxBAW5v5t746hMRmb8hzI02ssKN TLCOni5mfiPay6V129FDl4CCPYMO/XKvDz6rSOiR8bJ22nFWdClnJ6Db0vN92puOXtxF dXQsq+aSrjznZdwSpoqGJUGaTg9wo/Bd3Jly9vITkJZ84b6OLVwVidxRr/S+I5aP3JMt Vy0H2D92DHR9dFyXy4Wnh110lvXutSOcMf6SDDFpxo2xeeZhjD4/bzmEb1lourdOIAF7 JBvpP+yoP5wY8qaVY8/51mUxY5LLuZwqKDOVgLeih7V54g6uVsk6jUZMu5Mz6qkG3i64 57EQ== X-Gm-Message-State: ABuFfog/RJnP0EdxTlXpLZ8+oDGLgypr95fsIUv/uDLiWbxZyMiucp6Y UTw23PYXU7/Jr9Fkqu/Bme9EpCsikiAw2QECiaScwO0u X-Google-Smtp-Source: ACcGV60vF3IF2/L6wRMTcXG/+ynQ3FsbpSBDVcfHIezGx05/PyfrBBBojSmycsYZrXGPZ8Hxzw14TbkCO7FXHI3Z3sk= X-Received: by 2002:adf:e886:: with SMTP id d6-v6mr20463881wrm.7.1539708664179; Tue, 16 Oct 2018 09:51:04 -0700 (PDT) MIME-Version: 1.0 References: <979E9134-70FE-47E2-8C82-F71B553CDE15@gmail.com> <1539707844.546476.1544074520.36E9023E@webmail.messagingengine.com> In-Reply-To: From: DuyHai Doan Date: Tue, 16 Oct 2018 18:50:52 +0200 Message-ID: Subject: Re: Released an ACID-compliant transaction library on top of Cassandra To: user Content-Type: multipart/alternative; boundary="000000000000fc70ca05785b5bf7" --000000000000fc70ca05785b5bf7 Content-Type: text/plain; charset="UTF-8" I think it does use LWT under the hood: https://github.com/scalar-labs/scalardb/blob/master/src/main/java/com/scalar/database/transaction/consensuscommit/CommitMutationComposer.java#L74-L79 return new Put(base.getPartitionKey(), getClusteringKey(base, result).orElse(null)) .forNamespace(base.forNamespace().get()) .forTable(base.forTable().get()) .withConsistency(Consistency.LINEARIZABLE) .withCondition( new PutIf( new ConditionalExpression(ID, toIdValue(id), Operator.EQ), new ConditionalExpression( STATE, toStateValue(TransactionState.PREPARED), Operator.EQ))) .withValue(Attribute.toCommittedAtValue(current)) .withValue(Attribute.toStateValue(TransactionState.COMMITTED)); On Tue, Oct 16, 2018 at 6:40 PM sankalp kohli wrote: > What License did you use? Can we please use Apache 2.0? > > On Tue, Oct 16, 2018 at 9:39 AM sankalp kohli > wrote: > >> This is awesome and thanks for working on it. >> >> On Tue, Oct 16, 2018 at 9:37 AM Ariel Weisberg wrote: >> >>> Hi, >>> >>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL >>> consistency and CAS functionality or is that implemented at a higher level? >>> >>> Regards, >>> Ariel >>> >>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote: >>> > This is great! >>> > >>> > -- >>> > Jeff Jirsa >>> > >>> > >>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada >>> wrote: >>> > > >>> > > Hi all, >>> > > >>> > > # Sorry, I accidentally emailed the following to dev@, so >>> re-sending to here. >>> > > >>> > > We have been working on ACID-compliant transaction library on top of >>> > > Cassandra called Scalar DB, >>> > > and are pleased to announce the release of v.1.0 RC version in open >>> source. >>> > > >>> > > https://github.com/scalar-labs/scalardb/ >>> > > >>> > > Scalar DB is a library that provides a distributed storage >>> abstraction >>> > > and client-coordinated distributed transaction on the storage, >>> > > and makes non-ACID distributed database/storage ACID-compliant. >>> > > And Cassandra is the first supported database implementation. >>> > > >>> > > It's been internally tested intensively and is jepsen-passed. >>> > > (see jepsen directory for more detail) >>> > > If you are looking for ACID transaction capability on top of >>> cassandra, >>> > > Please take a look and give us a feedback or contribution. >>> > > >>> > > Best regards, >>> > > Hiroyuki Yamada >>> > > >>> > > --------------------------------------------------------------------- >>> > > To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org >>> > > For additional commands, e-mail: user-help@cassandra.apache.org >>> > > >>> > >>> > --------------------------------------------------------------------- >>> > To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org >>> > For additional commands, e-mail: user-help@cassandra.apache.org >>> > >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org >>> For additional commands, e-mail: user-help@cassandra.apache.org >>> >>> --000000000000fc70ca05785b5bf7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I think it does use LWT = under the hood:


=
return new Put(base.getPartitionKey(), getClusteringKey(base, res= ult).orElse(null))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .forNamespace(base= .forNamespace().get())
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .forTable(base= .forTable().get())
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .withConsistency(C= onsistency.LINEARIZABLE)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .withConditi= on(
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 new PutIf(
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 new ConditionalEx= pression(ID, toIdValue(id), Operator.EQ),
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 new ConditionalExpression(
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 STATE, t= oStateValue(TransactionState.PREPARED), Operator.EQ)))
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 .withValue(Attribute.toCommittedAtValue(current))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 .withValue(Attribute.toStateValue(Transactio= nState.COMMITTED));



On Tue, Oct 16, 2018 at= 6:40 PM sankalp kohli <kohlis= ankalp@gmail.com> wrote:
What License did you=C2=A0use? Can we please use Apache 2.0?= =C2=A0

On Tue, Oct 16,= 2018 at 9:39 AM sankalp kohli <kohlisankalp@gmail.com> wrote:
This is awesome and thanks for work= ing on it.=C2=A0

On Tu= e, Oct 16, 2018 at 9:37 AM Ariel Weisberg <ariel@weisberg.ws> wrote:
Hi,

Yes this does sound great. Does this rely on Cassandra's internal SERIA= L consistency and CAS functionality or is that implemented at a higher leve= l?

Regards,
Ariel

On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> This is great!
>
> --
> Jeff Jirsa
>
>
> > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada <mogwaing@gmail.com> wrote: > >
> > Hi all,
> >
> > # Sorry, I accidentally emailed the following to dev@, so re-send= ing to here.
> >
> > We have been working on ACID-compliant transaction library on top= of
> > Cassandra called Scalar DB,
> > and are pleased to announce the release of v.1.0 RC version in op= en source.
> >
> > https://github.com/scalar-labs/scalardb/
> >
> > Scalar DB is a library that provides a distributed storage abstra= ction
> > and client-coordinated distributed transaction on the storage, > > and makes non-ACID distributed database/storage ACID-compliant. > > And Cassandra is the first supported database implementation.
> >
> > It's been internally tested intensively and is jepsen-passed.=
> > (see jepsen directory for more detail)
> > If you are looking for ACID transaction capability on top of cass= andra,
> > Please take a look and give us a feedback or contribution.
> >
> > Best regards,
> > Hiroyuki Yamada
> >
> > -----------------------------------------------------------------= ----
> > To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org=
> > For additional commands, e-mail: user-help@cassandra.apache.org
> >
>
> ---------------------------------------------------------------------<= br> > To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org
> For additional commands, e-mail: user-help@cassandra.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org
For additional commands, e-mail: user-help@cassandra.apache.org

--000000000000fc70ca05785b5bf7--