From user-return-64639-archive-asf-public=cust-asf.ponee.io@cassandra.apache.org Thu Oct 24 15:39:47 2019 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 [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id CE10618065D for ; Thu, 24 Oct 2019 17:39:46 +0200 (CEST) Received: (qmail 92014 invoked by uid 500); 24 Oct 2019 15:39:41 -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 92004 invoked by uid 99); 24 Oct 2019 15:39:41 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Oct 2019 15:39:41 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 1470C1A3310 for ; Thu, 24 Oct 2019 15:39:41 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.95 X-Spam-Level: * X-Spam-Status: No, score=1.95 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.2, KAM_LINEPADDING=1.2, KAM_LOTSOFHASH=0.25, PDS_BTC_ID=0.499, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id dbI2oKcQali5 for ; Thu, 24 Oct 2019 15:39:39 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::d44; helo=mail-io1-xd44.google.com; envelope-from=muralikgutha@gmail.com; receiver= Received: from mail-io1-xd44.google.com (mail-io1-xd44.google.com [IPv6:2607:f8b0:4864:20::d44]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id 715337F5FD for ; Thu, 24 Oct 2019 15:39:38 +0000 (UTC) Received: by mail-io1-xd44.google.com with SMTP id c25so29978271iot.12 for ; Thu, 24 Oct 2019 08:39:38 -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=qnyHaRLBPuSUtM9XG1VG4cClWsf1I4pncfOMu+MemS8=; b=l9TEuSEpupGzt5CSVgT96Luaz5EE4O9mBfaUieO4/c+OJNKn5zRZCWvZEfPzA9iHNH FLlVo9FmpKB/H2oe0Bgx3IJ/Wog+iJptY6JH/axk4/yiN5FYz2AsnePKzLCaISm0gZRe /d+CH5vql749fM38yTLe07iXik5PxxallSoifnjzQUv/3TpczVtKt9fD3P8udiTPy5my jBuWJXraxZ8+tFBoSRNcnLmnmO9vO7Pn2SjdrDku3ImF6diS3Nn50WQ/gNNEP4EaBzIq 4svsI3a056XeRu19cWD5lt6vdtUibrELoqtPMC4p2lB8ITV41QIu2q67w3NcT+Iovlig 5luQ== 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=qnyHaRLBPuSUtM9XG1VG4cClWsf1I4pncfOMu+MemS8=; b=FpU+07VYWeVN7Uv2v1IDm+bHo/42RQeTv4AlKAbiEwA9I5PthW5YPqnUK3IXkLzywY hNgRKAoxXH1w8DbkZH9n6pbNMtDcQ2G07MzN4X6EP1HVRO0kfSszaiHohg/c7KoKu/Tt IG33+5PYch6ioyQYuG9suzrGcvpMNarRBPE6Dgitrf6Thx87av7PxO9QFZcfFymvScWh fbcwUdXt05oOnF4OdVDnjLlywG39LHDUVOMj8ZPavj1prmTpz0NobAgDVCLD5f3/O8Uq BQpUhyJEeKePKnVN35vKO9Tr6B4wJUflOy0WHk2IgYZlrLw/Z/L+DffLmjoETAMYmoaR FLwQ== X-Gm-Message-State: APjAAAW0HvHjrcJcAH8kDAK90MAmcXIZvMMUXt2N6lZzbIQ6woLcLqKj 91webeg+NaJwRQXSGLx9QZDHmKk8J3xZh6B1j8wzuF9I X-Google-Smtp-Source: APXvYqxdaOE+ILxNcuXMvOCiXtz7klzPL8TWECLPJ1B1SX5KHwRZpCd2ZDofDlJaRMBrfTxP3gMc4aGROjWtzo5sahI= X-Received: by 2002:a5d:9052:: with SMTP id v18mr10261769ioq.13.1571931570759; Thu, 24 Oct 2019 08:39:30 -0700 (PDT) MIME-Version: 1.0 References: <053247A8CBB6754B8345743B8F18D68D5263BC81@MOSTLS1MSGUSRFA.ITServices.sbc.com> In-Reply-To: <053247A8CBB6754B8345743B8F18D68D5263BC81@MOSTLS1MSGUSRFA.ITServices.sbc.com> From: Muralikrishna Gutha Date: Thu, 24 Oct 2019 11:39:19 -0400 Message-ID: Subject: Re: Duplicates columns which are backed by LIST collection types To: user@cassandra.apache.org Content-Type: multipart/related; boundary="000000000000e373210595a9d658" --000000000000e373210595a9d658 Content-Type: multipart/alternative; boundary="000000000000e373200595a9d657" --000000000000e373200595a9d657 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks, List datatype has been in-use for this table almost over a few years now and never had issues. We ran into this issue recently when we did the keyspace migration. Thanks, Murali On Thu, Oct 24, 2019 at 11:36 AM ZAIDI, ASAD wrote: > Have you chosen correct datatype to begin with, if you don=E2=80=99t want > duplicates? > > > > Generally speaking: > > > > A set and a list both represent multiple values but do so differently. > > A set doesn=E2=80=99t save ordering and values are sorted in ascending or= der. No > duplicates are allowed. > > > > A list saves ordering where you append or prepend the value into the list= . > A list allows duplicates. > > > > > > > > *From:* Muralikrishna Gutha [mailto:muralikgutha@gmail.com] > *Sent:* Thursday, October 24, 2019 10:27 AM > *To:* user@cassandra.apache.org > *Cc:* Muralikrishna Gutha > *Subject:* Duplicates columns which are backed by LIST collection types > > > > Hello Guys, > > > > We started noticing strange behavior after we migrated one keyspace from > existing cluster to new cluster. > > > > We expanded our source cluster from 18 node to 36 nodes and Didn't run > "nodetool cleanup". > > We took sstable backups on source cluster and restored which has duplicat= e > data and restored (sstableloader) it on to new cluster. Apparently > applications started seeing duplicate data mostly on list backed columns. > Below is sstable2json output for one of the list backed columns. > > > > Clustering Column1:Clustering Column2:mods (List collection type > > ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233 > > > > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:d120b050eac811e= 9ab2729ea208ce219","eb25d0b13a6611e980b22102e728a233",1570648383445000], > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:d120b051eac811e= 9ab2729ea208ce219","eb26bb113a6611e980b22102e728a233",1570648383445000], > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:d120b052eac811e= 9ab2729ea208ce219","a4fcf1f1eac811e99664732b9302ab46",1570648383445000], > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:38973560ead811e= 98bf68711844fec13","eb25d0b13a6611e980b22102e728a233",1570654999478000], > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:38973561ead811e= 98bf68711844fec13","eb26bb113a6611e980b22102e728a233",1570654999478000], > > ["ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233:mods:38973562ead811e= 98bf68711844fec13","a4fcf1f1eac811e99664732b9302ab46",1570654999478000], > > > > Below is the select statement i would expect Cassandra to return data wit= h > latest timestamp rather it returns duplicate values. > > > > select mods from keyspace.table where partition_key =3D'1117302' and > type=3D'ModifierList' and id=3Deb26e221-3a66-11e9-80b2-2102e728a233; > > > > [image: image.png] > > > > Any help or guidance is greatly appreciated. > > > > -- > > Thanks & Regards > Murali K Gutha > --=20 Thanks & Regards Murali K Gutha --000000000000e373200595a9d657 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, List datatype has been in-use for this table almos= t over a few years now and never had issues. We ran into this issue recentl= y when we did the keyspace migration.=C2=A0

Thanks,=
Murali=C2=A0

On Thu, Oct 24, 2019 at 11:36 AM ZAIDI, = ASAD <az192g@att.com> wrote:

Have you chosen correct datatype to begin wi= th, if you don=E2=80=99t want duplicates?

=C2=A0

Generally speaking:

=C2=A0

A set and a list both represent multiple val= ues but do so differently.

A set doesn=E2=80=99t save ordering and valu= es are sorted in ascending order. No duplicates are allowed.<= /span>

=C2=A0

A list saves ordering where you append or pr= epend the value into the list. A list allows duplicates.

=C2=A0

=C2=A0

=C2=A0

From: Muralikrishna Gutha [mailto:muralikgutha@gmail.com]
Sent: Thursday, October 24, 2019 10:27 AM
To: u= ser@cassandra.apache.org
Cc: Muralikrishna Gutha <muralikgutha@gmail.com>
Subject: Duplicates columns which are backed by LIST collection type= s

=C2=A0

Hello Guys,=C2=A0

=C2=A0

We started noticing strange behavior after we migrat= ed one keyspace from existing cluster to new cluster.=C2=A0

=C2=A0

We expanded our source cluster from 18 node to 36 no= des and Didn't run "nodetool cleanup".

We took sstable backups on source cluster and restor= ed which has duplicate data and restored=C2=A0(sstableloader) it on to new = cluster. Apparently applications started seeing duplicate data mostly on li= st backed columns. Below=C2=A0is sstable2json output=C2=A0for one of the list backed columns.=C2=A0

=C2=A0

Clustering Column1:Clustering Column2:mods (List col= lection type

ModifierList:eb26e221-3a66-11e9-80b2-2102e728a233=

=C2=A0

=C2=A0["ModifierList:eb26e221-3a66-11e9-80b2-21= 02e728a233:mods:d120b050eac811e9ab2729ea208ce219","eb25d0b13a6611= e980b22102e728a233",1570648383445000],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0["ModifierList:eb26e221-3a66-= 11e9-80b2-2102e728a233:mods:d120b051eac811e9ab2729ea208ce219","eb= 26bb113a6611e980b22102e728a233",1570648383445000],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0["ModifierList:eb26e221-3a66-= 11e9-80b2-2102e728a233:mods:d120b052eac811e9ab2729ea208ce219","a4= fcf1f1eac811e99664732b9302ab46",1570648383445000],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0["ModifierList:eb26e221-3a66-= 11e9-80b2-2102e728a233:mods:38973560ead811e98bf68711844fec13","eb= 25d0b13a6611e980b22102e728a233",1570654999478000],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0["ModifierList:eb26e221-3a66-= 11e9-80b2-2102e728a233:mods:38973561ead811e98bf68711844fec13","eb= 26bb113a6611e980b22102e728a233",1570654999478000],
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0["ModifierList:eb26e221-3a66-= 11e9-80b2-2102e728a233:mods:38973562ead811e98bf68711844fec13","a4= fcf1f1eac811e99664732b9302ab46",1570654999478000],

=C2=A0

Below=C2=A0is the select statement i would expect Ca= ssandra to return data with latest timestamp rather it returns duplicate va= lues.=C2=A0

=C2=A0

select mods from keyspace.table where partition_key = =3D'1117302' and type=3D'ModifierList' and id=3Deb26e221-3a= 66-11e9-80b2-2102e728a233;

=C2=A0

3D"image.png=

=C2=A0

Any help or guidance is greatly appreciated.=C2=A0

=C2=A0

--

Thanks & Regards
=C2=A0 Murali K Gutha



--
Thanks & Regards
=C2=A0 Murali K Gutha
--000000000000e373200595a9d657-- --000000000000e373210595a9d658 Content-Type: image/png; name="image001.png" Content-Disposition: inline; filename="image001.png" Content-Transfer-Encoding: base64 Content-ID: <16dfe6a89244cff311> X-Attachment-Id: 16dfe6a89244cff311 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 --000000000000e373210595a9d658--