[ https://issues.apache.org/jira/browse/IGNITE-2191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096662#comment-15096662 ]
Artem Shutak commented on IGNITE-2191: -------------------------------------- Found that BinaryIdMapper has the following contact: {code} /** * Gets type ID for provided class name. * <p> * If {@code 0} is returned, hash code of class simple name will be used. * * @param clsName Class name. * @return Type ID. */ public int typeId(String clsName); {code} So, If a user uses a custom implementation for id mapper we have to delegate a calculation of typeId to BinarySimpleNameIdMapper if the custom implementation returns 'zero'. > Binary marshaller: support user classes with the same simple name > ----------------------------------------------------------------- > > Key: IGNITE-2191 > URL: https://issues.apache.org/jira/browse/IGNITE-2191 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: ignite-1.4 > Reporter: Denis Magda > Assignee: Artem Shutak > Priority: Critical > Labels: important > Fix For: 1.6 > > > Presently the user won't be able to use across the cluster object that have a > single simple name. > As an example if the user has 'org.comp.MyObject' and > 'org.apache.comp.MyObject' then he won't be able to have them both in a > cluster because marshalling mechanism supports uniqueness at simple name > level only. > There are several reasons for that: > - interoperability with other platforms; > - queries that use simple name is their 'where' clause. > In general according to the API as a workaround the user can implement its > own BinaryIdMapper returning a precise id for every class. However there is a > bug in BinaryContext that passes simple name rather than a full name to a > BinaryIdMapper implementation. BinaryIdMapper must be fixed as well. -- This message was sent by Atlassian JIRA (v6.3.4#6332)