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 D4AFA11102 for ; Wed, 6 Aug 2014 02:43:33 +0000 (UTC) Received: (qmail 28019 invoked by uid 500); 6 Aug 2014 02:43:31 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 27966 invoked by uid 500); 6 Aug 2014 02:43:30 -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 27956 invoked by uid 99); 6 Aug 2014 02:43:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Aug 2014 02:43:30 +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 ssrameez@gmail.com designates 209.85.192.176 as permitted sender) Received: from [209.85.192.176] (HELO mail-pd0-f176.google.com) (209.85.192.176) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Aug 2014 02:43:29 +0000 Received: by mail-pd0-f176.google.com with SMTP id y10so2421121pdj.35 for ; Tue, 05 Aug 2014 19:43:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=xvEfWhLxCbhEWItfmZhq4yEQ66fhWJ8KrjXwWl8+3bY=; b=dHVC9K6JPDPzLmeOd/aKUEPSMJPLTu/6ybBE1O2CIrTAEaVhOJEjVyBrBlthCr/45b 9FWQA8vHUaE4PyZcxz2PGIjgv8rGIKoMa0wSObzTs64LiPQS1UfJS0+4jywiKypg5vd+ uni4rJzc38wxYtwEDq9pfAbGG5TZDfWCirUwZkaafD2xY/w0NE0tzp0aToyeuuN1Wa5x N44pxvXfwzX5UuIP2Ga1kHlH4smBOXQvdUd3rXbm05HHbbaXAFyz7ncDHaIeNRvmLrGy mNgbAURAhw9p4NtMPu4FtmBYkDQ73x5kofFJfS95gZbHmHizDYkVBDkWuX6PRFCyU/62 wG6g== MIME-Version: 1.0 X-Received: by 10.70.38.134 with SMTP id g6mr8375809pdk.135.1407292983799; Tue, 05 Aug 2014 19:43:03 -0700 (PDT) Received: by 10.70.21.130 with HTTP; Tue, 5 Aug 2014 19:43:03 -0700 (PDT) In-Reply-To: References: Date: Wed, 6 Aug 2014 08:13:03 +0530 Message-ID: Subject: Re: Make an existing cluster multi data-center compatible. From: Rameez Thonnakkal To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=047d7bfe9e2064f4e804ffecee34 X-Virus-Checked: Checked by ClamAV on apache.org --047d7bfe9e2064f4e804ffecee34 Content-Type: text/plain; charset=UTF-8 I think the RAC placement of these 12 nodes will become important. As the 12 nodes are placed in SimpleSnitch, which is not RAC aware, it would be good to retain them in single RAC in the property file snitch also initially. node repair is a safe option. If you need to change the RAC placement, my take would be to increase the Replication factor to atleast 3 and then distribute the nodes in different RAC. This is not an expert opinion but a newbie thought. Regards, Rameez On Tue, Aug 5, 2014 at 11:35 PM, Robert Coli wrote: > 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 > > --047d7bfe9e2064f4e804ffecee34 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I think the RAC placement of these 12 nodes will= become important. As the 12 nodes are placed in SimpleSnitch, which is not= RAC aware, it would be good to retain them in single RAC in the property f= ile snitch also initially. node repair is a safe option. If you need to cha= nge the RAC placement, my take would be to increase the Replication factor = to atleast 3 and then distribute the nodes in different RAC.

This is not an expert opinion but a newbie thought.

Regards,
Rameez


On Tue, Aug 5, 2014 at 11:35 PM, Robert Coli <rcoli@ev= entbrite.com> wrote:
=
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 confi= gure the new snitch so that the replica sets do not change, no, you do not = need to repair.

Barring that, if you manage to tra= nsform the replica set in such a way that you always have one (fully repair= ed) replica from the old set, repair will help. I do not recommend this ver= y risky practice. In practice the only transformation of snitch in a cluste= r with data which is likely to be safe is one whose result is a NOOP in ter= ms 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


--047d7bfe9e2064f4e804ffecee34--