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 92456200C52 for ; Mon, 10 Apr 2017 11:43:29 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 90BC0160B99; Mon, 10 Apr 2017 09:43:29 +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 D8343160B85 for ; Mon, 10 Apr 2017 11:43:28 +0200 (CEST) Received: (qmail 66513 invoked by uid 500); 10 Apr 2017 09:43:28 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 66502 invoked by uid 99); 10 Apr 2017 09:43:27 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Apr 2017 09:43:27 +0000 Received: from mail-lf0-f48.google.com (mail-lf0-f48.google.com [209.85.215.48]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 6C5B41A0780 for ; Mon, 10 Apr 2017 09:43:27 +0000 (UTC) Received: by mail-lf0-f48.google.com with SMTP id h125so67518396lfe.0 for ; Mon, 10 Apr 2017 02:43:27 -0700 (PDT) X-Gm-Message-State: AFeK/H0jpjd4+fcBdaV4VRszLVvhXEeUdvqvxmvQ/5cKgqMiuBQELqelOugCLJKO+ZpqOUT6F+WEmZDWHz+gpG9g X-Received: by 10.25.242.1 with SMTP id q1mr18839807lfh.22.1491817405915; Mon, 10 Apr 2017 02:43:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.46.88.23 with HTTP; Mon, 10 Apr 2017 02:43:25 -0700 (PDT) In-Reply-To: References: From: Yakov Zhdanov Date: Mon, 10 Apr 2017 12:43:25 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Prohibit stateful affinity (FairAffinityFunction) To: dev@ignite.apache.org Cc: Valentin Kulichenko Content-Type: multipart/alternative; boundary=94eb2c1cbb9e8cbc33054cccce39 archived-at: Mon, 10 Apr 2017 09:43:29 -0000 --94eb2c1cbb9e8cbc33054cccce39 Content-Type: text/plain; charset=UTF-8 We should have it enabled by default. --Yakov 2017-04-10 12:42 GMT+03:00 Sergi Vladykin : > Why wouldn't we have useBalancer always enabled? > > Sergi > > 2017-04-10 12:31 GMT+03:00 Taras Ledkov : > > > Folks, > > > > I worked on issue https://issues.apache.org/jira/browse/IGNITE-3018 that > > is related to performance of Rendezvous AF. > > > > But Wang/Jenkins hash integer hash distribution is worse then MD5. So, i > > try to use simple partition balancer close > > to Fair AF for Rendezvous AF. > > > > Take a look at the heatmaps of distributions at the issue. e.g.: > > - Compare of current Rendezvous AF and new Rendezvous AF based of > > Wang/Jenkins hash: https://issues.apache.org/jira > > /secure/attachment/12858701/004.png > > - Compare of current Rendezvous AF and new Rendezvous AF based of > > Wang/Jenkins hash with partition balancer: > https://issues.apache.org/jira > > /secure/attachment/12858690/balanced.004.png > > > > When the balancer is enabled the distribution of partitions by nodes > looks > > like close to even distribution > > but in this case there is not guarantee that a partition doesn't move > from > > one node to another > > when node leave topology. > > It is not guarantee but we try to minimize it because sorted array of > > nodes is used (like in for pure-Rendezvous AF). > > > > I think we can use new fast Rendezvous AF and use 'useBalancer' flag > > instead of Fair AF. > > > > On 09.04.2017 14:12, Valentin Kulichenko wrote: > > > >> What is the replacement for FairAffinityFunction? > >> > >> Generally I agree. If FairAffinityFunction can't be changed to provide > >> consistent mapping, it should be dropped. > >> > >> -Val > >> > >> On Sun, Apr 9, 2017 at 3:50 AM, Sergi Vladykin < > sergi.vladykin@gmail.com > >> > wrote: > >> > >> Guys, > >> > >> It appeared that our FairAffinityFunction can assign the same > >> partitions to > >> different nodes for different caches. > >> > >> It basically means that there is no collocation between the caches > >> at all > >> even if they have the same affinity. > >> > >> As a result all SQL joins will not work (even collocated ones), > other > >> operations that rely on cache collocation will be either broken or > >> work > >> slower, than expected. > >> > >> All this stuff is really non-obvious. And I see no reason why we > >> should > >> allow that. I suggest to prohibit this behavior and drop > >> FairAffinityFunction before 2.0. We have to clearly document that > >> the same > >> affinity function must provide the same partition assignments for > >> all the > >> caches. > >> > >> Also I know that Taras Ledkov was working on a decent stateless > >> replacement > >> for FairAffinity, so we should not loose anything here. > >> > >> Thoughts? > >> > >> Sergi > >> > >> > >> > > -- > > Taras Ledkov > > Mail-To: tledkov@gridgain.com > > > > > --94eb2c1cbb9e8cbc33054cccce39--