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

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

GitHub user VladimirErshov opened a pull request:

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

    IGNITE-10 Fix ignite components [de]serialization

    IgniteSpiThread holds now gridName.
    It's obtained through IgnitionEx.gridName() for IgniteKernal readResolve.
    It could be useful to check, that those classes don't suffer also from this 
issue:
    * GridPortableContext
    * GridKernalContextImpl
    * ClusterGroupAdapter
    * ClusterNodeLocalMapImpl
    * PortableContext

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

    $ git pull https://github.com/VladimirErshov/ignite master

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

    https://github.com/apache/ignite/pull/246.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 #246
    
----
commit 89781a9f5b63da38069191576a5647194d90e58e
Author: vershov <vers...@gridgain.com>
Date:   2015-11-18T17:26:13Z

    IGNITE-10 Fix ignite components [de]serialization

commit 7dee5b2d0f62578b139fcaf0aefcc44d823e4f70
Author: vershov <vers...@gridgain.com>
Date:   2015-11-18T17:31:49Z

    IGNITE-10 Fix ignite components [de]serialization

----


> 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
>
> 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)

Reply via email to