You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2017/04/14 12:42:41 UTC

[jira] [Comment Edited] (IGNITE-3689) .NET: Remove IgniteProxy

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

Pavel Tupitsyn edited comment on IGNITE-3689 at 4/14/17 12:41 PM:
------------------------------------------------------------------

IgniteProxy removed, running tests (http://ci.ignite.apache.org/project.html?projectId=IgniteTests&branch_IgniteTests=pull%2F1797%2Fhead) to see if we actually ever needed it.

I'm not sure about use cases: why would user want to serialize injected fields? Why would user even want to serialize the class which is eligible for injection?

We currently inject resources in the following cases:
* cache filters and listeners
* compute actions and jobs
* message and event listeners
* plugin context

It is very unlikely that these entities are going to be serialized by the user manually.
We should just skip {{Ignite}} fields during serialization.


was (Author: ptupitsyn):
IgniteProxy removed, running tests to see if we actually ever needed it.

I'm not sure about use cases: why would user want to serialize injected fields? Why would user even want to serialize the class which is eligible for injection?

We currently inject resources in the following cases:
* cache filters and listeners
* compute actions and jobs
* message and event listeners
* plugin context

It is very unlikely that these entities are going to be serialized by the user manually.
We should just skip {{Ignite}} fields during serialization.

> .NET: Remove IgniteProxy
> ------------------------
>
>                 Key: IGNITE-3689
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3689
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>              Labels: .NET, breaking
>             Fix For: 2.0
>
>
> IgniteProxy exists to handle serialization of injected IIgnite fields in user classes.
> As a result, we write a type id and a null flag in place of injected fields.
> Instead we should just skip injected fields altogether.
> There are two cases:
> * Binarizable. In this case we can use a special no-op serializer or add a check to BinaryWriter.
> * Serializable. Override ISerializable in Ignite and don't write anything.



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