You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ershov (JIRA)" <ji...@apache.org> on 2015/12/09 17:49:10 UTC

[jira] [Resolved] (IGNITE-10) Fix ignite components [de]serialization

     [ https://issues.apache.org/jira/browse/IGNITE-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Ershov resolved IGNITE-10.
-----------------------------------
    Resolution: Fixed
      Assignee: Vladimir Ershov  (was: Yakov Zhdanov)

Fix implemented through readResolve and ThreadIgnite holds gridName. New method Ignition.localIgnite() introduced. JD fixed, review and TC is ok.

> Fix ignite components [de]serialization
> ---------------------------------------
>
>                 Key: IGNITE-10
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10
>             Project: Ignite
>          Issue Type: Task
>          Components: general
>            Reporter: Yakov Zhdanov
>            Assignee: Vladimir Ershov
>              Labels: Muted_test
>             Fix For: 1.6
>
>
> Current solution: serialize grid name, then find comp by name on peer.
> Current solution not working: in our internal unit tests, in distributed topology when user gives different names to nodes 
> New solution: each grid thread should know its node. So, on deserialization we cast thread to e.g. IgniteThread and take its holding component from it. If it is not IgniteThread then exception should be thrown since it is anyway impossible to deserialize component outside of context.
> Suggestion from IGNITE-553:
> As we moving to java8 lambdas, it is impossible to use @IgniteInstanceResource in lambdas. As a result, single-jvm ping-pong test does not work.
> Suggested fix:
> Introduce a static thread-local field which will be set before processing a message and will be nullified after message is processed. IgniteKernal should check this thread-local in readResolve and return this instance.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)