ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Kozlov <skoz...@gridgain.com>
Subject Re: REST: support getting objects from cache.
Date Mon, 26 Feb 2018 11:39:23 GMT
Vova, Alexey

3) The exception is not enough for that case. We should return a proper
error message in the json reply.

On Mon, Feb 26, 2018 at 2:20 PM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> My 50 cents:
> 1) Agree with Pavel, not need to deserialize at all
> 2) May be you see everything in the upper case because this is how CREATE
> TABLE works - every object name (table name, column name, etc.) are
> converted to upper case by default. This is expected behavior of every SQL
> engine. If you want to preserve cases please consider using qoutes around
> column names (e.g. CREATE TABLE "myTable"("myColumn" INT PRIMARY KEY).
> 3) I think we should throw an exception in this case - objects with
> recursive dependencies cannot be expressed in text form (whether this is
> XML, JSON or anything else).
>
> On Mon, Feb 26, 2018 at 10:00 AM, Pavel Tupitsyn <ptupitsyn@apache.org>
> wrote:
>
> > Hi Alexey,
> >
> > 1) IMO for this task you should ALWAYS work in binary mode.
> > What is the use case for deserializing with a real class and then
> > serializing to JSON?
> > Looks like a waste of resources to me.
> >
> > 2) This should not be the case, please re-check your code.
> > Binary meta preserves original case (stores field names as is), just
> > checked this with 2.4 build.
> >
> > 3) JSON serializers typically handle this by adding special fields ($id
> and
> > $ref in Json.NET, for example).
> > But I believe this is a rare use case and can be skipped in initial
> > implementation.
> >
> > Thanks,
> > Pavel
> >
> > On Mon, Feb 26, 2018 at 7:38 AM, Alexey Kuznetsov <akuznetsov@apache.org
> >
> > wrote:
> >
> > > Hi,
> > >
> > > I'm working on  IGNITE-7803 REST: Add support to get values inserted
> via
> > > API or SQL[1]
> > >
> > > And found following issues:
> > >
> > > 1. First, if server node that will handle REST request does not have
> > class
> > > of object that we want to get from cache I need to set
> cache.keepBinary()
> > > in order to avoid object deserialization and work directly with binary
> > > metadata directly.
> > >
> > > But in some cases node could have class in classpath and user may need
> to
> > > use that class.
> > >
> > > How about to add option "keepBinary=true"  and let user handle this by
> > > himself?
> > >
> > > 2. Second, in binary metadata all names stored in upper case. So,
> binary
> > > object converted to JSON will be like: {"ID": 1, "NAME": "Alex",
> > "SALARY":
> > > 300}
> > >
> > > It is OK?
> > >
> > > 3. Should we handle circular references in binary objects? If yes, then
> > > how?
> > >
> > >
> > > [1]   https://issues.apache.org/jira/browse/IGNITE-7803
> > >
> > >
> > >
> > > --
> > > Alexey Kuznetsov
> > >
> >
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message