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 |
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 <[hidden email]> 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 > |
Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS?
On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko < [hidden email]> 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 <[hidden email]> > 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 > > > |
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 <[hidden email]> wrote: > Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS? > > On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko < > [hidden email]> 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 <[hidden email]> > > 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 > > > > > > |
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 <[hidden email]> 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 <[hidden email]> > wrote: > >> Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS? >> >> On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko < >> [hidden email]> 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 <[hidden email]> >> > 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 >> > > >> > >> > > |
In reply to this post by Pavel Tupitsyn
Pavel,
Makes sense, I think this is the best way. -Val On Wed, Jan 25, 2017 at 12:27 AM, Pavel Tupitsyn <[hidden email]> 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 <[hidden email]> > wrote: > > > Why not add IgniteUuid to BinaryContext.BINARYLIZABLE_SYS_CLSS? > > > > On Tue, Jan 24, 2017 at 10:55 AM, Valentin Kulichenko < > > [hidden email]> 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 <[hidden email]> > > > 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 > > > > > > > > > > |
Free forum by Nabble | Edit this page |