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

ASF GitHub Bot commented on IGNITE-2703:
----------------------------------------

GitHub user ptupitsyn opened a pull request:

    https://github.com/apache/ignite/pull/555

    IGNITE-2703 .NET: Dynamic class registration for non-serializable types

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ptupitsyn/ignite ignite-2703

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/555.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 #555
    
----
commit 5a4a30fc0fc31bf97ce9f705c29d111301c59019
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T09:39:01Z

    IGNITE-2703 .NET: Dynamically registered classes must use binary 
serialization if possible.

commit 9d1681915017552d926f8f9ad2cda82359e0b54e
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T14:52:20Z

    Merge remote-tracking branch 'remotes/upstream/master' into ignite-2703

commit 2cb7baf58d80b709cf3ca114a8f9b205bc34256b
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T15:55:30Z

    wip

commit ce22d5e5f704e20762ec7ef75437361e79c53230
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T16:00:20Z

    wip

commit 7413ad17ac55abd68015dad6450370e637dbc34b
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T16:22:27Z

    wip seriliazer logic

commit ea2c500ee99e1781ab3ad771769f6779ab7f31e7
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-11T16:25:06Z

    Fix serializable logic

commit 7b274074392d104ba21a0bd44ddf4a4c2d2ae4c2
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:17:48Z

    Refactor stack frame logic into a struct

commit 6558bee53d61e2f7033d1aca6035641664a7d2a3
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:22:01Z

    Remove unused stackframe fields

commit fc6b0e28de6f0700b8bd644c7370cef5cf60ecce
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:23:43Z

    wip

commit d24cf02fbc3df4529382392471a841782fca34b9
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:44:06Z

    Dynamic register works!

commit fb57ce502ad5076900fef5361f9fc0b65f14a619
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:49:31Z

    BinaryReader.Frame

commit 1c546a9b0737d1868348c2f91bb39caa1f7bde71
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T11:59:21Z

    wip tests

commit 2bfe484af9549385f6791ec52b4f984be416ea5c
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T12:14:46Z

    Fix NPE

commit b0a0f764205b668b144a31e83fea9a9e4929d750
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T12:22:20Z

    Fix schema read

commit 35ed98de2a85d61355c0d0b64a59fdf80b1c739b
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T12:43:23Z

    TODOs

commit 4e9e23bfdb028b99c5a70d9b9be39f812f2e56bb
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T13:03:02Z

    Start marshaller cache for .NET

commit 812777454af3e86ed1d54203445c725bc8aaedcc
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T13:07:31Z

    Merge remote-tracking branch 'remotes/upstream/master' into ignite-2703

commit 0baccecfa3594054d58360c3c052ed5f350e66d8
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T13:38:31Z

    wip

commit 9eca5f5db86d7d23d4a20257188cef1a94e67168
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T13:56:22Z

    wip

commit 43a43ba8587273158df1269f17421eab01e6ed25
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:03:50Z

    wip

commit bc17ee89d03a7f6be719fbb62a3d34ba82c6f221
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:26:23Z

    wip interop

commit 203bd559b21350ea2d6277da010a90440484fa71
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:30:31Z

    wip

commit 0b9c43c7ee918a8dd50556c4e085f271d854cc2b
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:34:01Z

    wip

commit 2036bd301a63a5578251f55cbe80889664a59ee4
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:38:09Z

    wip

commit 84b346b3cf8eb74d43cc0218b04269225db0076a
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:39:03Z

    wip

commit afed6cebd46e849712fff4275b52f2a026796423
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:44:28Z

    wip interop

commit 1068a37de4836ca7064bf2bc0fd1821c1256a6cc
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T14:46:47Z

    wip

commit 21ecbed4f3f541b7e8d40b514d03c7eb3e26a9ea
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T15:02:42Z

    wip

commit 67027787ebb780678b73326e94c80731c584c288
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T15:28:46Z

    ReleaseChars fixed

commit ba2ddfa9e7418d54a5a17e3a9fa7f664ab587666
Author: Pavel Tupitsyn <ptupit...@gridgain.com>
Date:   2016-03-14T15:44:21Z

    wip

----


> .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
>            Priority: Critical
>             Fix For: 1.6
>
>
> 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
(v6.3.4#6332)

Reply via email to