Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2EE1B200B51 for ; Mon, 1 Aug 2016 11:59:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 26808160AAB; Mon, 1 Aug 2016 09:59:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 75E30160A65 for ; Mon, 1 Aug 2016 11:59:21 +0200 (CEST) Received: (qmail 29964 invoked by uid 500); 1 Aug 2016 09:59:20 -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 29952 invoked by uid 99); 1 Aug 2016 09:59:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2016 09:59:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 791CA2C0D5E for ; Mon, 1 Aug 2016 09:59:20 +0000 (UTC) Date: Mon, 1 Aug 2016 09:59:20 +0000 (UTC) From: "Pavel Tupitsyn (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (IGNITE-2703) .NET: Dynamically registered classes must use binary serialization if possible. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 01 Aug 2016 09:59:22 -0000 [ https://issues.apache.org/jira/browse/IGNITE-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15401785#comment-15401785 ] Pavel Tupitsyn commented on IGNITE-2703: ---------------------------------------- Looks like we can't have dynamic registration for a StoreFactory for the same reason as we enforce [Serializable] affinity function: it is needed during cache start, so we can't use marshaller cache at the moment. We can either enforce [Serializable], or enforce "unregistered type" mechanics where we write the full type name after the header. > .NET: Dynamically registered classes must use binary serialization if possible. > ------------------------------------------------------------------------------- > > Key: IGNITE-2703 > URL: https://issues.apache.org/jira/browse/IGNITE-2703 > Project: Ignite > Issue Type: Task > Components: platforms > Affects Versions: 1.5.0.final > Reporter: Vladimir Ozerov > Assignee: Pavel Tupitsyn > Priority: Critical > Labels: .net, roadmap > Fix For: 1.7 > > > At present we support dynamic class registration in .NET, but they are written using deafult .NET mechanism. This is counterintuitive for users and not consistent with Java, where such classes are written in binary form. > Proposed implementation plan: > 1) For each dynamically registered class we must understand whether it could be serialized through binary or not. If not - print a warning and fallback to .NET. > 2) Before writing a class we must ensure that it's [typeId -> name] pair is known to the cluster. If not - write full class name instead of type ID. Java already do that. > 3) Last, to support backward compatibility we must be able to fallback to current mode with help of some boolean flag. -- This message was sent by Atlassian JIRA (v6.3.4#6332)