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)