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 887EF10B5A for ; Tue, 11 Jun 2013 09:06:36 +0000 (UTC) Received: (qmail 7571 invoked by uid 500); 11 Jun 2013 09:06:34 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 7449 invoked by uid 500); 11 Jun 2013 09:06:33 -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 7437 invoked by uid 99); 11 Jun 2013 09:06:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Jun 2013 09:06:32 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW X-Spam-Check-By: apache.org Received-SPF: error (nike.apache.org: local policy) Received: from [209.85.128.180] (HELO mail-ve0-f180.google.com) (209.85.128.180) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Jun 2013 09:06:25 +0000 Received: by mail-ve0-f180.google.com with SMTP id pa12so5451877veb.25 for ; Tue, 11 Jun 2013 02:05:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:content-type:x-gm-message-state; bh=NqBWpfvoLzMM94VgivyWPytOf7ucGmhZlqXrRAE9Tmk=; b=kMQLsYX3ocecl0U9bchACXprH7IF919/DEPZCTgdBMPUrk0uxhwpJvSAbt8pi1od1Y xOB88VR1YhNqEKRBT4ZsunphaE3ypd766n4GMGsVjlYHIHX2V3d8VI66tb5Ps6YlAJ29 f/sCT/tHiTdXw1Mirr7cyD7Gs0MOrZeWY5qPQo6m/ZlyS7zFlDP7WXLGYju9+oWXlKMk pKevYjgmcXGG9hHec/InsEn2Q0G64nli6oRwpOTKsNJsgM46amNooV+a6k+JxRjeitXZ 1NVo7fbpiBKn4yOpDnY+UUSLh/G9ML2r2VSOZmsK9GhubyY4Woza7X96hHxjj8YnBQed rpFg== X-Received: by 10.220.223.14 with SMTP id ii14mr7709625vcb.50.1370941544744; Tue, 11 Jun 2013 02:05:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.58.210.40 with HTTP; Tue, 11 Jun 2013 02:05:24 -0700 (PDT) X-Originating-IP: [86.188.229.98] In-Reply-To: References: From: Richard Low Date: Tue, 11 Jun 2013 10:05:24 +0100 Message-ID: Subject: Re: Why so many vnodes? To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=14dae9cdc033c85b2904dedd332e X-Gm-Message-State: ALoCoQkCCuzpIW8kHUZ8aSLeiQRkL1a6LZmWlA/7XTwYSpX607YAwOvrWEKAUQRHpSzdwCNdaLjd X-Virus-Checked: Checked by ClamAV on apache.org --14dae9cdc033c85b2904dedd332e Content-Type: text/plain; charset=ISO-8859-1 On 11 June 2013 09:54, Theo Hultberg wrote: But in the paragraph just before Richard said that finding the node that > owns a token becomes slower on large clusters with lots of token ranges, so > increasing it further seems contradictory. > I do mean increase for larger clusters, but I guess it depends on what you are optimizing for. If you care about maintaining an even load, where differences are measured relative to the amount of data each node has, then you need T >> N. However, you're right, this can slow down some operations. Repair has a fixed cost for each token so gets a bit slower with higher T. Finding which node owns a range gets harder with T but this code was optimized so I don't think it will become a practical issue. Is this a correct interpretation: finding the node that owns a particular > token becomes slower as the number of nodes (and therefore total token > ranges) increases, but for large clusters you also need to take the time > for bootstraps into account, which will become slower if each node has > fewer token ranges. The speed referred to in the two cases are the speeds > of different operations, and there will be a trade off, and 256 initial > tokens is a trade off that works for most cases. > Yes this is right. The bootstraps may become slower because the node is streaming from fewer original nodes (although it may only show on very busy clusters, since otherwise bootstrap is limited by the joining node). But more importantly I think is that new nodes won't take an even share of the data if T is too small. Richard. --14dae9cdc033c85b2904dedd332e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On 11 June 2013 09:54, Theo Hul= tberg <theo@iconara.net> wrote:

But in the paragraph just before Richard = said that finding the node that owns a token becomes slower on large cluste= rs with lots of token ranges, so increasing it further seems contradictory.=

I do mean increase for larger clusters, but I g= uess it depends on what you are optimizing for. =A0If you care about mainta= ining an even load, where differences are measured relative to the amount o= f data each node has, then you need T >> N.

However, you're right, this can slow down some operation= s. =A0Repair has a fixed cost for each token so gets a bit slower with high= er T. =A0Finding which node owns a range gets harder with T but this code w= as optimized so I don't think it will become a practical issue.=A0

Is this a correct interpretation: finding the node that owns a particular t= oken becomes slower as the number of nodes (and therefore total token range= s) increases, but for large clusters you also need to take the time for boo= tstraps into account, which will become slower if each node has fewer token= ranges. The speed referred to in the two cases are the speeds of different= operations, and there will be a trade off, and 256 initial tokens is a tra= de off that works for most cases.

Yes this is right. =A0The boot= straps may become slower because the node is streaming from fewer original = nodes (although it may only show on very busy clusters, since otherwise boo= tstrap is limited by the joining node). =A0But more importantly I think is = that new nodes won't take an even share of the data if T is too small.<= /div>

Richard.
--14dae9cdc033c85b2904dedd332e--