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

Pavel Tupitsyn edited comment on IGNITE-2703 at 3/31/17 11:44 AM:
------------------------------------------------------------------

1) Done, log warning added: "Type 'x' implements 'ISerializable'. It will be 
written in Ignite binary format, however, the following limitations apply: 
DateTime fields would not work in SQL; sbyte, ushort, uint, ulong fields would 
not work in DML."

2) Flag added. SQL and DML tests for {{ISerializable}} added.

{{uint}} and such can be used from DML when the value fits in {{int}} range. 
Otherwise an object is created in cache, but when deserializing, 
{{OverflowException}} is thrown in user code within 
{{ISerializable.GetObjectData}}.


was (Author: ptupitsyn):
1) Done, log warning added: "Type '{0}' implements '{1}'. It will be written in 
Ignite binary format, however, the following limitations apply: DateTime fields 
would not work in SQL; sbyte, ushort, uint, ulong fields would not work in DML."

2) Flag added. SQL and DML tests for {{ISerializable}} added.

{{uint}} and such can be used from DML when the value fits in {{int}} range, 
otherwise an {{OverflowException}} is thrown in user code within 
{{ISerializable.GetObjectData}}.

> .NET: Dynamically registered classes must use binary serialization if possible
> ------------------------------------------------------------------------------
>
>                 Key: IGNITE-2703
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2703
>             Project: Ignite
>          Issue Type: Task
>          Components: platforms
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ozerov
>            Assignee: Pavel Tupitsyn
>              Labels: .net, breaking-api, important
>             Fix For: 2.0
>
>
> At present we support dynamic class registration in .NET, but they are 
> written using deafult .NET mechanism. This is counterintuitive for users and 
> not consistent with Java, where such classes are written in binary form.
> Proposed implementation plan:
> 1) For each dynamically registered class we must understand whether it could 
> be serialized through binary or not. If not - print a warning and fallback to 
> .NET.
> 2) Before writing a class we must ensure that it's [typeId -> name] pair is 
> known to the cluster. If not - write full class name instead of type ID. Java 
> already do that.
> 3) Last, to support backward compatibility we must be able to fallback to 
> current mode with help of some boolean flag.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to