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
>