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 E8130200D1C for ; Sun, 15 Oct 2017 09:27:19 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id DBF6B1609E3; Sun, 15 Oct 2017 07:27:19 +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 05F171609D9 for ; Sun, 15 Oct 2017 09:27:18 +0200 (CEST) Received: (qmail 59714 invoked by uid 500); 15 Oct 2017 07:27:17 -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 59702 invoked by uid 99); 15 Oct 2017 07:27:17 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Oct 2017 07:27:17 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 97E121808E9 for ; Sun, 15 Oct 2017 07:27:16 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.48 X-Spam-Level: ** X-Spam-Status: No, score=2.48 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, KAM_SHORT=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gridgain-com.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id dbE4sDKeUIbC for ; Sun, 15 Oct 2017 07:27:14 +0000 (UTC) Received: from mail-vk0-f42.google.com (mail-vk0-f42.google.com [209.85.213.42]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id EC3085F47D for ; Sun, 15 Oct 2017 07:27:13 +0000 (UTC) Received: by mail-vk0-f42.google.com with SMTP id j2so6140936vki.4 for ; Sun, 15 Oct 2017 00:27:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gridgain-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=WFfOTgX6WYoGw70mwadJHpB+VzPffuLtUbJdYljT9qo=; b=SgoLrDpgqVlySWm0ojJpdGHXSKJp8yk2UFydjk2B7tY0lXZXWM2nGA1W6sfco2KdcB DDx8HjL8fEtj/jRdx/3Zy48nI3uWACYlu5nLnbHFQ85H4b06B0SVAzvglBnO20uCMDyM vZ/wmO2Osvx9I4Addwfn4YJwmVa+S/SI0lCU2uGbeAdXE3lGuhwgWoeuF8AguO9wBksT VSzBkN/83ohukpyBtj/mZ9c8AkqEYAaF9qsW6oWpZjZBw0Fs1M37USjjmhBs6OeHa/r3 yipzLBzGEeJXAsu+7Yz/9NWBh1Jb28HI2gVBP2EaJU2qbJWIESsMgtz+78aaT913wkG8 DFNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=WFfOTgX6WYoGw70mwadJHpB+VzPffuLtUbJdYljT9qo=; b=AqJgKiL4pmZ/EU7gO5x9ankqGZiuQf6KJ5nj3BJdia7I18F9cXqa2qrLTUQmlB3O6b na/B+uF6uOd3cqXtQn/G/WKGF35mwkrJk5Q342zzKLv+OjZQqpWyCUe9o4QGbo5aZRE2 0CmUNyEy2rZihXJEKP+xQK2lO/RIYrZMDd5MHwJivkk3kGz9pqtD5vqmYPajACqCKdj+ LdbSAQD7oHa1SNd688JTEFiBJQTMAaRrSGytultu/aSAPfMVFGeUkO8tsBnN8FvXcabF S5Qrb9hgWhyONlAWya6aPa52vn5BqGb3ZCeRdZiqwGXutnTRuaKbialfZ6WVKUQpPeVn NgjQ== X-Gm-Message-State: AMCzsaXUroImQBa/VD1yUZ/rFZxinKMtyByqXZbc61k/gUSTl1S/Faoq puAfmpYSjG7iQuUDRx0Lw4vD+pcVbvKPV8urE8DC9w== X-Google-Smtp-Source: AOwi7QDwFOWj/mj1F9vDo9zWERZ+RgP7RCmoHFQs5Hxd4XlJfuMuldAIuYtryIluYReSSeuKR7pgk1QFRUOQo8ACmqE= X-Received: by 10.31.110.9 with SMTP id j9mr4903511vkc.47.1508052433275; Sun, 15 Oct 2017 00:27:13 -0700 (PDT) MIME-Version: 1.0 References: <00C87F50-24B8-44F6-8EE3-A44C663A6818@apache.org> <00036EC0-6228-4764-BF35-04596E86F957@apache.org> In-Reply-To: From: Vladimir Ozerov Date: Sun, 15 Oct 2017 07:27:02 +0000 Message-ID: Subject: Re: Optimized DML execution: how to name it? To: dev@ignite.apache.org Content-Type: multipart/alternative; boundary="94eb2c14a21e96a3d4055b90d12e" archived-at: Sun, 15 Oct 2017 07:27:20 -0000 --94eb2c14a21e96a3d4055b90d12e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable No, it is not exposed to public API. Didn't want to add another flag to SqlFieldsQuery. =D0=B2=D1=81, 15 =D0=BE=D0=BA=D1=82. 2017 =D0=B3. =D0=B2 0:19, Dmitriy Setr= akyan : > Vova, is there any way to enable this flag from API, without using JDBC > driver? > > On Sat, Oct 14, 2017 at 1:17 PM, Vladimir Ozerov > wrote: > > > Dmitry, > > > > Corretct. Example: jdbc:ignite:thin:// > 192.168.0.1?skipReducerOnClient=3Dtrue > > > > On Fri, Oct 13, 2017 at 8:16 PM, Dmitriy Setrakyan < > dsetrakyan@apache.org> > > wrote: > > > > > Vova, > > > > > > Just to make sure, we are not adding a new configuration property, > right? > > > Is this just a JDBC connection flag we are discussing? If yes, can yo= u > > > please provide an example of the JDBC connection string? > > > > > > D. > > > > > > On Fri, Oct 13, 2017 at 9:57 AM, Denis Magda > wrote: > > > > > > > Vladimir, > > > > > > > > > "inPlaceUpdate" is not very good candidate because there are a lo= t > of > > > > other > > > > > "in place update" optimizations in RDBMS word, and most of them > > relates > > > > to > > > > > in-place update of some value in the data page. I am afraid users > > will > > > be > > > > > confused with this name. > > > > > > > > I=E2=80=99m not insisting on this name but that=E2=80=99s neither s= ystem nor global > > > > configuration property. The property scope is defined by the > drivers=E2=80=99s > > > > boundaries. So if to think of it as of a hint for the drivers it > > doesn=E2=80=99t > > > > sound too generic. > > > > > > > > Anyway, =E2=80=9Creducer=E2=80=9D versions sound too low-level and,= probably, I would > > > > leave the current =E2=80=9CupdateOnServer=E2=80=9D as is. > > > > > > > > =E2=80=94 > > > > Denis > > > > > > > > > On Oct 13, 2017, at 12:02 AM, Vladimir Ozerov < > vozerov@gridgain.com> > > > > wrote: > > > > > > > > > > Denis, > > > > > > > > > > In future SQL transactional protocol will do all updates "in plac= e" > > > > instead > > > > > of passing it to the client. This is the only possible way to > perform > > > > large > > > > > updates without killing the client with OOME. > > > > > "inPlaceUpdate" is not very good candidate because there are a lo= t > of > > > > other > > > > > "in place update" optimizations in RDBMS word, and most of them > > relates > > > > to > > > > > in-place update of some value in the data page. I am afraid users > > will > > > be > > > > > confused with this name. > > > > > > > > > > On Fri, Oct 13, 2017 at 2:15 AM, Denis Magda > > > wrote: > > > > > > > > > >> How about =E2=80=9CinPlaceUpdate=E2=80=9D? > > > > >> > > > > >> A side note, I see the feature documented for ODBC in our hidden > SQL > > > > >> domain [1]. But it=E2=80=99s missing for JDBC. Did we forget to = update the > > > JDBC > > > > >> docs? > > > > >> > > > > >> [1] https://apacheignite-sql.readme.io/docs/connection- > > > > >> string-and-dsn#section-supported-arguments > > > > >> > > > > >>> > > > > >>> Unfortunately we cannot enable this mode by default, because it > is > > > > still > > > > >> a > > > > >>> bit raw and there is a risk of regressions. Also when > transactional > > > SQL > > > > >> is > > > > >>> ready this feature will make no sense in TX mode. For this reas= on > > we > > > > >>> disable it by default for now > > > > >> > > > > >> > > > > >> Does it mean that this kind of optimization is not feasible for > > > > >> transaction SQL or it will be just solved differently? Just tryi= ng > > to > > > > grasp > > > > >> if we are going to drop it after the TX SQL release. > > > > >> > > > > >> =E2=80=94 > > > > >> Denis > > > > >> > > > > >>> On Oct 11, 2017, at 11:45 PM, Vladimir Ozerov < > > vozerov@gridgain.com> > > > > >> wrote: > > > > >>> > > > > >>> Igniters, > > > > >>> > > > > >>> We prepared optimization of DML processing. Instead of passing > all > > > data > > > > >>> being updated through the client node, now we can optionally se= nd > > SQL > > > > >>> statement to data nodes and perform update locally. This could > > > greatly > > > > >>> improve performance of certain DML operations. > > > > >>> > > > > >>> Unfortunately we cannot enable this mode by default, because it > is > > > > still > > > > >> a > > > > >>> bit raw and there is a risk of regressions. Also when > transactional > > > SQL > > > > >> is > > > > >>> ready this feature will make no sense in TX mode. For this reas= on > > we > > > > >>> disable it by default for now. > > > > >>> > > > > >>> It will be possible to enable it from JDBC/ODBC drivers using a > > flag. > > > > >>> Question - how to name this flag? Current name is > > > "*updateOnServer*". I > > > > >>> doesn't like it much, but cannot do better. Please share other > > ideas. > > > > >>> > > > > >>> - "distributedDml"? No, every operation is distributed. > > > > >>> - "serverDml"? > > > > >>> > > > > >>> Vladimir. > > > > >> > > > > >> > > > > > > > > > > > > > > --94eb2c14a21e96a3d4055b90d12e--