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

2017-04-17 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-04-17 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-04-17 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-04-14 Thread Pavel Tupitsyn (JIRA)

[ 
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

2017-04-14 Thread ASF GitHub Bot (JIRA)

[ 
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 Tupitsyn 
Date:   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)