ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-1619) Platform .Net: Generic type is lost during array/collection serialization
Date Thu, 08 Oct 2015 14:31:26 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14948746#comment-14948746
] 

Vladimir Ozerov edited comment on IGNITE-1619 at 10/8/15 2:31 PM:
------------------------------------------------------------------

Partial review of public API:
1) Looks like WriteObjectArray should be split into pair of methods for consistency with collections/dictionaries
and to avoid misuse: WriteObjectArray(object[]) and WriteGenericObjectArray<T>(T[]).

Lets fix that and add new metadata types and finish with public part. Protocol implementation
can be reviewed independenty.


was (Author: vozerov):
Partial review of public API:
1) PortableReaderExtensions - looks strange to me. User definitely will be confused when looking
at "ReadDictionary", "ReadGenericDictionary" and "ReadDictionaryAsGeneric" methods. Having
overloaded method "IDictionary ReadDictionary(string fieldName, PortableDictionaryFactory<K,
V> factory);" should be enough here. Also lets rename PortableGenericDictionaryFactory
to PortableDictionaryFactory. The same goes for ReadCollectionAsList - I would not add it
to already pretty complex reader until we have real users demand.
2) Looks like WriteObjectArray should be split into pair of methods for consistency with collections/dictionaries
and to avoid misuse: WriteObjectArray(object[]) and WriteGenericObjectArray<T>(T[]).

Lets fix that and add new metadata types and finish with public part. Protocol implementation
can be reviewed independenty.

> Platform .Net: Generic type is lost during array/collection serialization
> -------------------------------------------------------------------------
>
>                 Key: IGNITE-1619
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1619
>             Project: Ignite
>          Issue Type: Bug
>          Components: interop
>    Affects Versions: ignite-1.4
>            Reporter: Pavel  Tupitsyn
>            Assignee: Pavel  Tupitsyn
>             Fix For: ignite-1.5
>
>
> We do not serialize collection/array element type, so on deserialization we can not recreate
original collection. So generic arrays/collections can't be used in job arguments, service
arguments, etc.
> * We should keep current format for non-generic collections, arrays of primitives, and
arrays of objects
> * Generic collections and arrays should be written with new TypeIds (not compatible with
other platforms) and include type information



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message