[jira] [Commented] (IGNITE-3689) .NET: Remove IgniteProxy
[ https://issues.apache.org/jira/browse/IGNITE-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15970855#comment-15970855 ] ASF GitHub Bot commented on IGNITE-3689: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/1797 > .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)
[jira] [Commented] (IGNITE-3689) .NET: Remove IgniteProxy
[ https://issues.apache.org/jira/browse/IGNITE-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15970854#comment-15970854 ] Pavel Tupitsyn commented on IGNITE-3689: Merged to master > .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)
[jira] [Commented] (IGNITE-3689) .NET: Remove IgniteProxy
[ https://issues.apache.org/jira/browse/IGNITE-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15970852#comment-15970852 ] Pavel Tupitsyn commented on IGNITE-3689: Injected Ignite instance may be serialized due to {{MessageListenerHolder}} behavior, among other things. So we should keep a null-valued field in serialized form. However, simple system type write handler is a better solution than a proxy class. > .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)
[jira] [Commented] (IGNITE-3689) .NET: Remove IgniteProxy
[ https://issues.apache.org/jira/browse/IGNITE-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968968#comment-15968968 ] Pavel Tupitsyn commented on IGNITE-3689: 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)
[jira] [Commented] (IGNITE-3689) .NET: Remove IgniteProxy
[ https://issues.apache.org/jira/browse/IGNITE-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968966#comment-15968966 ] ASF GitHub Bot commented on IGNITE-3689: GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/1797 IGNITE-3689 .NET: Remove IgniteProxy You can merge this pull request into a Git repository by running: $ git pull https://github.com/ptupitsyn/ignite ignite-3689 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/1797.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1797 commit e2b156f6399f36d326bd1a820bc3853466884e8f Author: Pavel TupitsynDate: 2017-04-14T12:23:44Z Remove IgniteProxy commit 32b62ad7c141a1fbb4f262ef801b7f23b86d4606 Author: Pavel Tupitsyn Date: 2017-04-14T12:32:40Z Add debug output > .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)