Return-Path: X-Original-To: apmail-ignite-issues-archive@minotaur.apache.org Delivered-To: apmail-ignite-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 555AE18EA6 for ; Mon, 15 Feb 2016 09:09:18 +0000 (UTC) Received: (qmail 15081 invoked by uid 500); 15 Feb 2016 09:09:18 -0000 Delivered-To: apmail-ignite-issues-archive@ignite.apache.org Received: (qmail 15051 invoked by uid 500); 15 Feb 2016 09:09:18 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 15027 invoked by uid 99); 15 Feb 2016 09:09:18 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Feb 2016 09:09:18 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 22D1A2C14F3 for ; Mon, 15 Feb 2016 09:09:18 +0000 (UTC) Date: Mon, 15 Feb 2016 09:09:18 +0000 (UTC) From: "Vladimir Ershov (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (IGNITE-10) Fix ignite components [de]serialization MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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 (v6.3.4#6332)