Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 65DEA200B68 for ; Fri, 19 Aug 2016 14:23:38 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6468F160AAC; Fri, 19 Aug 2016 12:23:38 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 34A8A160A8E for ; Fri, 19 Aug 2016 14:23:37 +0200 (CEST) Received: (qmail 46381 invoked by uid 500); 19 Aug 2016 12:23:35 -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 46369 invoked by uid 99); 19 Aug 2016 12:23:35 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2016 12:23:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 42D8AC0439 for ; Fri, 19 Aug 2016 12:23:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.479 X-Spam-Level: ** X-Spam-Status: No, score=2.479 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, KAM_LINEPADDING=1.2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=mainaud-com.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id uB_ZVPHTfg3w for ; Fri, 19 Aug 2016 12:23:32 +0000 (UTC) Received: from mail-oi0-f41.google.com (mail-oi0-f41.google.com [209.85.218.41]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 6DFD160DC4 for ; Fri, 19 Aug 2016 12:23:32 +0000 (UTC) Received: by mail-oi0-f41.google.com with SMTP id c15so61025504oig.0 for ; Fri, 19 Aug 2016 05:23:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mainaud-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=Fx1YbKHzkp41r2HTRSj+VDgKU921ktQdsrGwOqRan7Y=; b=C5kjGOu1lKHTlqKxe21zOFXV8VrVbRk+zmFd6ot5HkybLU8Gx61tsJ7mUavYpUP/XU P1BQpz00afzuEgNASGPl4t7J0+Ky7CxDNjcSo110biaTOcQ/MLbFibDxbkhzmdtDyKw7 i2zquLyIxmorYAh2lK9dDGdFaQUYXIfre1COmJ5maKBOltyDH2B5tPWyR+27g8vamU0e M7gGjt/dseMCcRkOiAVa65msZkxHRvUsObUHs/4ad91RZhreyp6N7nXfXmEJXougqB2P Ze7vU5MA/qcSigVxAqvwJESYmMpARB++ukAKM01QSJnBIYbpihVglTBIDbUWPMOwv/zY fecA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=Fx1YbKHzkp41r2HTRSj+VDgKU921ktQdsrGwOqRan7Y=; b=aNNxdoPwnLhXgNAFaG+otUrH7fXPa5Azp65TqJl70Z8+yFwyi088rO4wDbOTgle63H Qx8rQPsfIaaBHwJgcsK/xtP8CES1/9wucAEto/W3onKpk4wo82xq+cgRXMnOJxxfnv2g KkqtflgfryXP5Wi5A9jH7yIBBM70XWyl+f873ERj7TPfeBfVDyfoXjvptvhQUyBHYMUu TckorWHn2RXAwMzQrip2qlnxKQCYGeMImPRbZar2cLNP7Ge9fL7vWJytqSsAAr66EXHE 5cLidlDRNhe/iD4wRhuRN+KcPCG47YpGIPTm3mTloop5l2Ep7DBWTzrbEll+FQGHynrd czUw== X-Gm-Message-State: AEkoout+afxwUAAnPOL884LCZXi6qfZhyqbo8VZzFRIsHp5RYo6IBgncRD8nJ5kYD0xOKRtRHefdaUBtbDP97w== X-Received: by 10.202.207.205 with SMTP id f196mr4495566oig.52.1471609411353; Fri, 19 Aug 2016 05:23:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.77.7 with HTTP; Fri, 19 Aug 2016 05:23:30 -0700 (PDT) X-Originating-IP: [195.5.224.170] In-Reply-To: <991216328.27769515.1471601787734.JavaMail.yahoo@mail.yahoo.com> References: <991216328.27769515.1471601787734.JavaMail.yahoo@mail.yahoo.com> From: =?UTF-8?B?SsOpcsO0bWUgTWFpbmF1ZA==?= Date: Fri, 19 Aug 2016 14:23:30 +0200 Message-ID: Subject: Re: nodetool repair with -pr and -dc To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=001a113b0818365492053a6bc49c archived-at: Fri, 19 Aug 2016 12:23:38 -0000 --001a113b0818365492053a6bc49c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Romain, Thank you for your answer, I will open a ticket soon. Best --=20 J=C3=A9r=C3=B4me Mainaud jerome@mainaud.com 2016-08-19 12:16 GMT+02:00 Romain Hardouin : > Hi J=C3=A9r=C3=B4me, > > The code in 2.2.6 allows -local and -pr: > https://github.com/apache/cassandra/blob/cassandra-2.2. > 6/src/java/org/apache/cassandra/service/StorageService.java#L2899 > > But... the options validation introduced in CASSANDRA-6455 seems to break > this feature! > https://github.com/apache/cassandra/blob/cassandra-2.2. > 6/src/java/org/apache/cassandra/repair/messages/RepairOption.java#L211 > > I suggest to open a ticket https://issues.apache.org/ > jira/browse/cassandra/ > > Best, > > Romain > > > Le Vendredi 19 ao=C3=BBt 2016 11h47, J=C3=A9r=C3=B4me Mainaud a > =C3=A9crit : > > > Hello, > > I've got a repair command with both -pr and -local rejected on an 2.2.6 > cluster. > The exact command was : nodetool repair --full -par -pr -local -j 4 > > The message is =E2=80=9CYou need to run primary range repair on all node= s in the > cluster=E2=80=9D. > > Reading the code and previously cited CASSANDRA-7450, it should have been > accepted. > > Did anyone meet this error before ? > > Thanks > > > -- > J=C3=A9r=C3=B4me Mainaud > jerome@mainaud.com > > 2016-08-12 1:14 GMT+02:00 kurt Greaves : > > -D does not do what you think it does. I've quoted the relevant > documentation from the README: > > > Multiple > Datacenters > If you have multiple datacenters in your ring, then you MUST specify the > name of the datacenter containing the node you are repairing as part of t= he > command-line options (--datacenter=3DDCNAME). Failure to do so will resul= t in > only a subset of your data being repaired (approximately > data/number-of-datacenters). This is because nodetool has no way to > determine the relevant DC on its own, which in turn means it will use the > tokens from every ring member in every datacenter. > > > > On 11 August 2016 at 12:24, Paulo Motta wrote: > > > if we want to use -pr option ( which i suppose we should to prevent > duplicate checks) in 2.0 then if we run the repair on all nodes in a sing= le > DC then it should be sufficient and we should not need to run it on all > nodes across DC's? > > No, because the primary ranges of the nodes in other DCs will be missing > repair, so you should either run with -pr in all nodes in all DCs, or > restrict repair to a specific DC with -local (and have duplicate checks). > Combined -pr and -local are only supported on 2.1 > > > 2016-08-11 1:29 GMT-03:00 Anishek Agarwal : > > ok thanks, so if we want to use -pr option ( which i suppose we should to > prevent duplicate checks) in 2.0 then if we run the repair on all nodes i= n > a single DC then it should be sufficient and we should not need to run it > on all nodes across DC's ? > > > > On Wed, Aug 10, 2016 at 5:01 PM, Paulo Motta > wrote: > > On 2.0 repair -pr option is not supported together with -local, -hosts or > -dc, since it assumes you need to repair all nodes in all DCs and it will > throw and error if you try to run with nodetool, so perhaps there's > something wrong with range_repair options parsing. > > On 2.1 it was added support to simultaneous -pr and -local options on > CASSANDRA-7450, so if you need that you can either upgade to 2.1 or > backport that to 2.0. > > > 2016-08-10 5:20 GMT-03:00 Anishek Agarwal : > > Hello, > > We have 2.0.17 cassandra cluster(*DC1*) with a cross dc setup with a > smaller cluster(*DC2*). After reading various blogs about > scheduling/running repairs looks like its good to run it with the followi= ng > > > -pr for primary range only > -st -et for sub ranges > -par for parallel > -dc to make sure we can schedule repairs independently on each Data centr= e > we have. > > i have configured the above using the repair utility @ https://github.com= /BrianGallew > /cassandra_range_repair.git > > > which leads to the following command : > > ./src/range_repair.py -k [keyspace] -c [columnfamily name] -v -H localhos= t > -p -D* DC1* > > but looks like the merkle tree is being calculated on nodes which are par= t > of other *DC2.* > > why does this happen? i thought it should only look at the nodes in local > cluster. however on nodetool the* -pr* option cannot be used with *-local= * according > to docs @https://docs.datastax.com/en/ cassandra/2.0/cassandra/tools/ > toolsRepair.html > > > so i am may be missing something, can someone help explain this please. > > thanks > anishek > > > > > > > > -- > Kurt Greaves > kurt@instaclustr.com > www.instaclustr.com > > > > > --001a113b0818365492053a6bc49c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Romain,

Thank you for your answe= r, I will open a ticket soon.

Best

--
J=C3=A9r=C3=B4me Mainaud
jerome@mainaud.com

2016-08-19 12:16 GMT+02:00 Romain Hardouin <= span dir=3D"ltr"><romainh_ml@yahoo.fr>:
Hi J=C3=A9r=C3=B4me,
=
The code in 2.2.6 allows -local and = -pr:

But... the options validation introduced i= n CASSANDRA-6455 seems to break this feature!


Best,

Romain


Le V= endredi 19 ao=C3=BBt 2016 11h47, J=C3=A9r=C3=B4me Mainaud <jerome@mainaud.com> a =C3= =A9crit :


<= div>
Hello,

I've go= t a repair command with both -pr and -local rejected on an 2.2.6 cluster.
The exact command was : nodetool repair --= full -par -pr -local -j 4

Th= e message is=C2=A0 =E2=80=9CYou need to run primary range repair on all nodes in= the cluster=E2=80=9D.

Reading the code and previously cited CASSANDRA-7450, it should ha= ve been accepted.

Did anyone mee= t this error before ?

Thanks


--
J=C3=A9r=C3=B4me Mainaud
jerome@mainaud.com

2016-08-12 1:14 GMT+02:00 kurt Greaves <kurt@instaclustr.com>:
-D does not do what you think it does. = I've quoted the relevant documentation from the README:

Multiple Datacenters

If you have multiple datacenters in your ring, then you MUST specify= =20 the name of the datacenter containing the node you are repairing as part of the command-line options (--datacenter=3DDCNAME). Failure to do so=20 will result in only a subset of your data being repaired (approximately=20 data/number-of-datacenters). This is because nodetool has no way to=20 determine the relevant DC on its own, which in turn means it will use=20 the tokens from every ring member in every datacenter.

On 11 August = 2016 at 12:24, Paulo Motta <paulor= icardomg@gmail.com> wrote:
> if we want to use -pr option ( which i su= ppose we should to prevent=20 duplicate checks) in 2.0 then if we run the repair on all nodes in a=20 single DC then it should be sufficient and we should not need to run it=20 on all nodes across DC's?

No, because the primary ranges of the nodes in other DCs will be missing= repair, so you should either run with -pr in all nodes in all DCs, or rest= rict repair to a specific DC with -local (and have duplicate checks). Combi= ned -pr and -local are only supported on 2.1


2016-08-11 1:29 G= MT-03:00 Anishek Agarwal <anishek@gmail.co= m>:
ok thanks, so= if we want to use -pr option ( which i suppose we should to prevent duplic= ate checks) in 2.0 then if we run the repair on all nodes in a single DC th= en it should be sufficient and we should not need to run it on all nodes ac= ross DC's ?


=

On Wed, Aug 10, 2016 at 5:01 P= M, Paulo Motta <pauloricardomg@gmai= l.com> wrote:
On = 2.0 repair -pr option is not supported together with -local, -hosts or -dc,= since it assumes you need to repair all nodes in all DCs and it will throw= and error if you try to run with nodetool, so perhaps there's somethin= g wrong with range_repair options parsing.

On 2.1 it was added support to simultaneous -pr and -local options on = CASSANDRA-7450, so if you need that you can either upgade to 2.1 or backpor= t that to 2.0.


2016-08-10 5:20 GMT-03:00 Anishek Agarwal <anishek@gmail.com>:
Hello,

We have 2.0.17 cassandra clu= ster(DC1) with a cross dc setup with a smaller cluster(DC2).= =C2=A0 After reading various blogs about scheduling/running repairs looks l= ike its good to run it with the following=C2=A0


-pr for primary range only=C2=A0=
-st -et for sub ranges=C2=A0

so i am may be missing something, can some= one help explain this please.

thank= s
anishek






--




--001a113b0818365492053a6bc49c--