[
https://issues.apache.org/jira/browse/IGNITE-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15950733#comment-15950733
]
Pavel Tupitsyn commented on IGNITE-2703:
----------------------------------------
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)