From dev-return-44221-archive-asf-public=cust-asf.ponee.io@ignite.apache.org Wed Jan 23 11:11:46 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id E458B18066C for ; Wed, 23 Jan 2019 11:11:45 +0100 (CET) Received: (qmail 20460 invoked by uid 500); 23 Jan 2019 10:11:45 -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 20447 invoked by uid 99); 23 Jan 2019 10:11:44 -0000 Received: from mail-relay.apache.org (HELO mailrelay2-lw-us.apache.org) (207.244.88.137) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Jan 2019 10:11:44 +0000 Received: from mail-ua1-f50.google.com (mail-ua1-f50.google.com [209.85.222.50]) by mailrelay2-lw-us.apache.org (ASF Mail Server at mailrelay2-lw-us.apache.org) with ESMTPSA id 28D222D2C for ; Wed, 23 Jan 2019 10:11:44 +0000 (UTC) Received: by mail-ua1-f50.google.com with SMTP id d2so527766ual.2 for ; Wed, 23 Jan 2019 02:11:44 -0800 (PST) X-Gm-Message-State: AJcUukfIH/HBYuGKtCg1grMlLfT2oV4cCrxovGMmA52ro8cen+xJwcqR fTFofg+uOkDvmxsfGKQs8ClYAL873U1ylcX2y61PWA== X-Google-Smtp-Source: ALg8bN7cUm4kTVLtNX0CygzI2dLqf2i7dXgKCl0pTKjm3ESbLZrbb9dtjUxorGwG/2mJY6ZLN11v90tAqc4hOkZO2Gk= X-Received: by 2002:ab0:47e2:: with SMTP id w34mr574198uac.63.1548238303628; Wed, 23 Jan 2019 02:11:43 -0800 (PST) MIME-Version: 1.0 References: <1503608130.910128.1547699843375.ref@mail.yahoo.com> <1503608130.910128.1547699843375@mail.yahoo.com> <655363440.1566620.1547774339252@mail.yahoo.com> <664056111.156385.1547869907716@mail.yahoo.com> <2028026145.1492548.1548150936096@mail.yahoo.com> In-Reply-To: From: Igor Sapego Date: Wed, 23 Jan 2019 13:11:30 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: CompactFooter for ClientBinaryMarshaller To: dev Cc: Roman Shtykh Content-Type: multipart/alternative; boundary="0000000000001dab9d05801d5201" --0000000000001dab9d05801d5201 Content-Type: text/plain; charset="UTF-8" Yeah, I was surprised too ) Best Regards, Igor On Wed, Jan 23, 2019 at 11:16 AM Vladimir Ozerov wrote: > It's hard to believe that compact footers are not supported, as it was one > of critical performance optimizations we implemented more than 4 years ago > :-) > If it is really so, we should prioritize the fix. > > On Tue, Jan 22, 2019 at 3:28 PM Igor Sapego wrote: > > > Roman, > > > > I've filed a ticket for C++: [1] > > > > [1] - https://issues.apache.org/jira/browse/IGNITE-11027 > > > > Best Regards, > > Igor > > > > > > On Tue, Jan 22, 2019 at 12:55 PM Roman Shtykh > > > wrote: > > > > > Igor, I see. How about having a warning if `BinaryConfiguration` is not > > > provided explicitly to at least raise attention? And creating a JIRA > > issue > > > for C++ clients -- after it resolves we can probably switch it to > cluster > > > default. > > > > > > -- > > > Roman Shtykh > > > > > > On Monday, January 21, 2019, 7:04:30 p.m. GMT+9, Igor Sapego < > > > isapego@apache.org> wrote: > > > > > > I believe, it was set to false by default as it was kind of > experimental > > > optimisation. > > > Also, I've checked right now and it seems that C++ clients (thick and > > > thin)do not yet support compact footers. It may also be a blocker to > set > > > compactfooters to true by default. > > > > Best Regards, > Igor > > > > > > > On Sat, Jan 19, 2019 at 6:52 AM Roman Shtykh > > > > wrote: > > > > > > Thank you for the explanation. But here is the problem is not exactly > > with > > > deserialization but with that a user-defined key is being marshalled > to a > > > binary object with the compact footer set to true, while the key for > > > putting has the footer set to false (which is server default). Thus we > > have > > > a different thing for the key when we try to retrieve and getting null. > > > Therefore, I suppose switching client to server defaults is what has to > > be > > > done. If the user decides to switch to full schema mode, at least > he/she > > > will be aware of it. And for deserialization, the schema will be > > retrieved, > > > as you explained. What do you think? > > > > > > -- Roman > > > On Friday, January 18, 2019, 10:52:11 p.m. GMT+9, Vladimir Ozerov < > > > vozerov@gridgain.com> wrote: > > > > > > "Compact footer" is optimization which saves a lot of space. Object > > > serialized in this form do not have the full information required for > > > deserialization. Metadata necessary for deserialization (aka "schema") > is > > > located on cluster nodes. For this client it could be requested through > > > special command. Pleass see ClientOperation.GET_BINARY_TYPE as a > starting > > > point. > > > On Fri, Jan 18, 2019 at 1:32 PM Igor Sapego > wrote: > > > > > > I'm not sure, that such a change should be done in minor release, maybe > > in > > > 3.0 > > > Vova, what do you think? It was you, who designed and developed compact > > > footer, right? > > > Best Regards,Igor > > > > > > On Fri, Jan 18, 2019 at 4:20 AM Roman Shtykh > > > > wrote: > > > > > > > I believe it has something to do with backward compatibility.That's > > what > > > I would like to know.If there's no strong reason to set it to false, it > > > should be as Ignite's default -- that's what a user would expect. And > if > > > the user changes the configuration at the cluster, he/she will be aware > > of > > > that and change it at thin client.If we cannot set it to Ignite's > > default, > > > we can add a log message saying we force it to false. > > > > > > -- > > > Roman > > > > > > > > > On Thursday, January 17, 2019, 7:11:05 p.m. GMT+9, Igor Sapego < > > > isapego@apache.org> wrote: > > > > > > First of all, I do not like that thin client is silently returns null. > > It > > > should be fixed. > > > For the compact footer being set to false by default - I believe it has > > > something to do withbackward compatibility. > > > Best Regards,Igor > > > > > > On Thu, Jan 17, 2019 at 7:37 AM Roman Shtykh > > > > wrote: > > > > > > Igniters, > > > After putting some data with a user-defined key with a thick client, > it's > > > impossible to retrieve it with a thin client. > > > https://issues.apache.org/jira/browse/IGNITE-10960(I was not sure it > was > > > a bug, so I first reported the issue to the user ml, Mikhail thanks for > > > checking and the jira issue) > > > That happens because for Ignite `compactFooter` is `true` by default, > but > > > `ClientBinaryMarshaller` forces it to `false` if `BinaryConfiguration` > is > > > not created explicitly (see ClientBinaryMarshaller#createImpl). > > > Any reason to force it to false? I would like to align it with Ignite > > > defaults (by setting to true). > > > > > > -- Roman > > > > > > > > > > > > > > > > > > --0000000000001dab9d05801d5201--