[
https://issues.apache.org/jira/browse/IGNITE-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yakov Zhdanov reassigned IGNITE-10:
-----------------------------------
Assignee: Yakov Zhdanov (was: Vladimir Ershov)
> 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: Yakov Zhdanov
> 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)