ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ershov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-10) Fix ignite components [de]serialization
Date Mon, 15 Feb 2016 09:09:18 GMT

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

Vladimir Ershov commented on IGNITE-10:

The fix here is intends to fix case with {code}IgniteInstanceResource{code} injection. Could
you please point any case where we put those entities in lambdas or smth?

> 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

View raw message