ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Tupitsyn (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-2703) .NET: Dynamically registered classes must use binary serialization if possible
Date Thu, 26 Jan 2017 16:50:24 GMT

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

Pavel Tupitsyn commented on IGNITE-2703:

* Cache store, affinity, plugins fixed: all configuration properties are now written using
{{BinaryUtils.Marshaller}} which uses full footer and unregistered mode always.
* Proper handle support implemented. Circular references are now fully supported, including
{{IObjectReference}} mechanism.
* {{IDeserializationCallback}} implemented (relates to the previous point as well, since {{Dictionary<>}}
uses both mechanisms).

> .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, roadmap
>             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

View raw message