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 A625811628 for ; Tue, 5 Aug 2014 21:28:27 +0000 (UTC) Received: (qmail 50428 invoked by uid 500); 5 Aug 2014 21:28:25 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 50391 invoked by uid 500); 5 Aug 2014 21:28:25 -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 50380 invoked by uid 99); 5 Aug 2014 21:28:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Aug 2014 21:28:25 +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 rene.kochen@schange.com designates 209.85.217.170 as permitted sender) Received: from [209.85.217.170] (HELO mail-lb0-f170.google.com) (209.85.217.170) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Aug 2014 21:28:23 +0000 Received: by mail-lb0-f170.google.com with SMTP id w7so1238265lbi.15 for ; Tue, 05 Aug 2014 14:27:58 -0700 (PDT) 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:date :message-id:subject:from:to:content-type; bh=OhyfnKXlxNQemwlGG/YxRh1NJTvFlQ4+4Ko5M19tRPQ=; b=PxYPaWuQbEagSXm9cpsKWFg/JiMHLwHhbwaGhaqhEc05vgJs9ZEBl80kSs7vDYQ7jw snkt5zKxGF8Xldf+X+tgSKZToWH0/XXC/kjL8JTtopSs9dUjpmxYJIIjYbMJ797HUw/b VbH3D2Buzzs24DCQRk0c69UeH7P835mdm++/mYTECyGIatzhtNEstY6fLKzlxv3DJhxF H69iSNpZ+SjB7j73mHlXQC5sTmQabRnAc7qChZ1FW3Exnv+EBo7UW7nQyqDD64b2BZ+p kLvtobcFQbGViuOYzaMCRNx7QO9CL3Kk/FPQJyGqWPvRxXpGvM4zcMusgjmKA6ddJYNU lKUA== X-Gm-Message-State: ALoCoQkJKshID/8b09PPNecKa97Z6u+pUH7vtLawCAxDMdsuGhDgKSv2vHjdhpxZcviGGWvOWbRh MIME-Version: 1.0 X-Received: by 10.112.159.169 with SMTP id xd9mr6684904lbb.76.1407274078748; Tue, 05 Aug 2014 14:27:58 -0700 (PDT) Received: by 10.114.80.40 with HTTP; Tue, 5 Aug 2014 14:27:58 -0700 (PDT) In-Reply-To: References: Date: Tue, 5 Aug 2014 23:27:58 +0200 Message-ID: Subject: Re: Make an existing cluster multi data-center compatible. From: Rene Kochen To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=001a11c3cdba90da8304ffe88700 X-Virus-Checked: Checked by ClamAV on apache.org --001a11c3cdba90da8304ffe88700 Content-Type: text/plain; charset=UTF-8 "As long as you correctly configure the new snitch so that the replica sets do not change, no, you do not need to repair." Is the following correct: The replica sets do not change if you modify the snitch from SimpleSnitch to NetworkTopologyStrategy and the topology file puts all nodes in the same data-center and rack. Thanks again! Rene 2014-08-05 20:05 GMT+02:00 Robert Coli : > On Tue, Aug 5, 2014 at 3:52 AM, Rene Kochen > wrote: > >> Do I have to run full repairs after this change? Because the yaml file >> states: IF YOU CHANGE THE SNITCH AFTER DATA IS INSERTED INTO THE CLUSTER, >> YOU MUST RUN A FULL REPAIR, SINCE THE SNITCH AFFECTS WHERE REPLICAS ARE >> PLACED. >> > > As long as you correctly configure the new snitch so that the replica sets > do not change, no, you do not need to repair. > > Barring that, if you manage to transform the replica set in such a way > that you always have one (fully repaired) replica from the old set, repair > will help. I do not recommend this very risky practice. In practice the > only transformation of snitch in a cluster with data which is likely to be > safe is one whose result is a NOOP in terms of replica placement. > > In fact, the yaml file is stating something unreasonable there, because > repair cannot protect against this case : > > - 6 node cluster, A B C D E F, RF = 2 > > 1) Start with SimpleSnitch so that A, B have the two replicas of row key X. > 2) Write row key X, value Y, to nodes A and B. > 2) Change to OtherSnitch so that now C,D are responsible for row key X. > 3) Repair and notice that neither C nor D answer "Y" when asked for row X. > > =Rob > > --001a11c3cdba90da8304ffe88700 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
"As long as you correctly configure the new snitch so= that the replica sets do not change, no, you do not need to repair."<= br>
Is the following correct:

The replica sets do not change if y= ou modify the snitch from SimpleSnitch to NetworkTopologyStrategy and the t= opology file puts all nodes in the same data-center and rack.

Thanks again!

Rene


<= div class=3D"gmail_quote">2014-08-05 20:05 GMT+02:00 Robert Coli <rcol= i@eventbrite.com>:
=
On Tue, Aug 5, 2014 at 3:52 AM, Rene Kochen <rene.kochen@schange.com> wrote:
Do I have to run full repai= rs after this change? Because the yaml file states: IF YOU CHANGE THE SNITC= H AFTER DATA IS INSERTED INTO THE CLUSTER, YOU MUST RUN A FULL REPAIR, SINC= E THE SNITCH AFFECTS WHERE REPLICAS ARE PLACED.

As long as you correctly configure t= he new snitch so that the replica sets do not change, no, you do not need t= o repair.

Barring that, if you manage to transform= the replica set in such a way that you always have one (fully repaired) re= plica from the old set, repair will help. I do not recommend this very risk= y practice. In practice the only transformation of snitch in a cluster with= data which is likely to be safe is one whose result is a NOOP in terms of = replica placement.

In fact, the yaml file is stating something unreasonabl= e there, because repair cannot protect against this case :
=C2=A0=
- 6 node cluster, A B C D E F, =C2=A0RF =3D 2

1) Start with SimpleSnitch so that A, B have the two replicas of row key X.=
2) Write row key X, value Y, to nodes A and B.
2) Change to = OtherSnitch so that now C,D are responsible for row key X.
3) Rep= air and notice that neither C nor D answer "Y" when asked for row= X.

=3DRob


--001a11c3cdba90da8304ffe88700--