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