You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Pavel Tupitsyn <pt...@apache.org> on 2017/01/24 17:21:36 UTC

Write IgniteUuid with BinaryMarshaller

Igniters,

Currently IgniteUuid is written with OptimizedMarshaller
(it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).

This prevents it from being read on other platforms (.NET, C++).

Is there any reason for this? Can we fix this in 2.0?

Thanks,
Pavel

Re: Write IgniteUuid with BinaryMarshaller

Posted by Valentin Kulichenko <va...@gmail.com>.
Pavel,

Makes sense, I think this is the best way.

-Val

On Wed, Jan 25, 2017 at 12:27 AM, Pavel Tupitsyn <pt...@apache.org>
wrote:

> Val,
>
> Not sure about UUID.
> It is a very common thing and writing it as an object will introduce a lot
> of overhead (17 bytes now vs 40+ bytes for object).
>
> May be we should even add a special case for IgniteUuid?
>
> On Wed, Jan 25, 2017 at 1:52 AM, Dmitriy Setrakyan <ds...@apache.org>
> wrote:
>
> > Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS?
> >
> > On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko <
> > valentin.kulichenko@gmail.com> wrote:
> >
> > > I actually think that both UUID and IgniteUuid should be plain
> > serializable
> > > classes, I don't see any reason for special processing for them.
> > >
> > > Currently we have the following:
> > >
> > >    - UUID is Serializable, but we have special serialization logic for
> it
> > >    internally in the marshaller.
> > >    - IgniteUuid is Externalizable.
> > >
> > > This is indeed inconsistent and confusing.
> > >
> > > -Val
> > >
> > > On Tue, Jan 24, 2017 at 9:21 AM, Pavel Tupitsyn <pt...@apache.org>
> > > wrote:
> > >
> > > > Igniters,
> > > >
> > > > Currently IgniteUuid is written with OptimizedMarshaller
> > > > (it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).
> > > >
> > > > This prevents it from being read on other platforms (.NET, C++).
> > > >
> > > > Is there any reason for this? Can we fix this in 2.0?
> > > >
> > > > Thanks,
> > > > Pavel
> > > >
> > >
> >
>

Re: Write IgniteUuid with BinaryMarshaller

Posted by Pavel Tupitsyn <pt...@apache.org>.
Ticket created:
https://issues.apache.org/jira/browse/IGNITE-4611

Linked to the "Apache Ignite 2.0 quick and needed tasks"
https://issues.apache.org/jira/browse/IGNITE-4547

On Wed, Jan 25, 2017 at 11:27 AM, Pavel Tupitsyn <pt...@apache.org>
wrote:

> Val,
>
> Not sure about UUID.
> It is a very common thing and writing it as an object will introduce a lot
> of overhead (17 bytes now vs 40+ bytes for object).
>
> May be we should even add a special case for IgniteUuid?
>
> On Wed, Jan 25, 2017 at 1:52 AM, Dmitriy Setrakyan <ds...@apache.org>
> wrote:
>
>> Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS?
>>
>> On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko <
>> valentin.kulichenko@gmail.com> wrote:
>>
>> > I actually think that both UUID and IgniteUuid should be plain
>> serializable
>> > classes, I don't see any reason for special processing for them.
>> >
>> > Currently we have the following:
>> >
>> >    - UUID is Serializable, but we have special serialization logic for
>> it
>> >    internally in the marshaller.
>> >    - IgniteUuid is Externalizable.
>> >
>> > This is indeed inconsistent and confusing.
>> >
>> > -Val
>> >
>> > On Tue, Jan 24, 2017 at 9:21 AM, Pavel Tupitsyn <pt...@apache.org>
>> > wrote:
>> >
>> > > Igniters,
>> > >
>> > > Currently IgniteUuid is written with OptimizedMarshaller
>> > > (it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).
>> > >
>> > > This prevents it from being read on other platforms (.NET, C++).
>> > >
>> > > Is there any reason for this? Can we fix this in 2.0?
>> > >
>> > > Thanks,
>> > > Pavel
>> > >
>> >
>>
>
>

Re: Write IgniteUuid with BinaryMarshaller

Posted by Pavel Tupitsyn <pt...@apache.org>.
Val,

Not sure about UUID.
It is a very common thing and writing it as an object will introduce a lot
of overhead (17 bytes now vs 40+ bytes for object).

May be we should even add a special case for IgniteUuid?

On Wed, Jan 25, 2017 at 1:52 AM, Dmitriy Setrakyan <ds...@apache.org>
wrote:

> Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS?
>
> On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
> > I actually think that both UUID and IgniteUuid should be plain
> serializable
> > classes, I don't see any reason for special processing for them.
> >
> > Currently we have the following:
> >
> >    - UUID is Serializable, but we have special serialization logic for it
> >    internally in the marshaller.
> >    - IgniteUuid is Externalizable.
> >
> > This is indeed inconsistent and confusing.
> >
> > -Val
> >
> > On Tue, Jan 24, 2017 at 9:21 AM, Pavel Tupitsyn <pt...@apache.org>
> > wrote:
> >
> > > Igniters,
> > >
> > > Currently IgniteUuid is written with OptimizedMarshaller
> > > (it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).
> > >
> > > This prevents it from being read on other platforms (.NET, C++).
> > >
> > > Is there any reason for this? Can we fix this in 2.0?
> > >
> > > Thanks,
> > > Pavel
> > >
> >
>

Re: Write IgniteUuid with BinaryMarshaller

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS?

On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> I actually think that both UUID and IgniteUuid should be plain serializable
> classes, I don't see any reason for special processing for them.
>
> Currently we have the following:
>
>    - UUID is Serializable, but we have special serialization logic for it
>    internally in the marshaller.
>    - IgniteUuid is Externalizable.
>
> This is indeed inconsistent and confusing.
>
> -Val
>
> On Tue, Jan 24, 2017 at 9:21 AM, Pavel Tupitsyn <pt...@apache.org>
> wrote:
>
> > Igniters,
> >
> > Currently IgniteUuid is written with OptimizedMarshaller
> > (it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).
> >
> > This prevents it from being read on other platforms (.NET, C++).
> >
> > Is there any reason for this? Can we fix this in 2.0?
> >
> > Thanks,
> > Pavel
> >
>

Re: Write IgniteUuid with BinaryMarshaller

Posted by Valentin Kulichenko <va...@gmail.com>.
I actually think that both UUID and IgniteUuid should be plain serializable
classes, I don't see any reason for special processing for them.

Currently we have the following:

   - UUID is Serializable, but we have special serialization logic for it
   internally in the marshaller.
   - IgniteUuid is Externalizable.

This is indeed inconsistent and confusing.

-Val

On Tue, Jan 24, 2017 at 9:21 AM, Pavel Tupitsyn <pt...@apache.org>
wrote:

> Igniters,
>
> Currently IgniteUuid is written with OptimizedMarshaller
> (it is not included in BinaryContext.BINARYLIZABLE_SYS_CLSS).
>
> This prevents it from being read on other platforms (.NET, C++).
>
> Is there any reason for this? Can we fix this in 2.0?
>
> Thanks,
> Pavel
>