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

Igor Sapego commented on IGNITE-3455:
-------------------------------------

On the closer look, seems like root cause is the following string in config:
{code:xml}
<bean id="ignite.cfg" 
class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="binaryConfiguration">
                <bean 
class="org.apache.ignite.configuration.BinaryConfiguration">
                        <property name="idMapper">
                                <bean 
class="org.apache.ignite.binary.BinaryBasicIdMapper">
                                        <property name="lowerCase" 
value="false"/>
                                </bean>
                        </property>
                </bean>
        </property>
</bean>
{code}

In C++ predefined function {{GetBinaryStringHashCode}} always uses lower-case 
version of string to calculate hash. So when {{BinaryBasicIdMapper}} is 
configured to use non-lowercase algorithm, hashes for the same type names are 
going to be different for C++ and Java nodes.

> Entry placed on C++ side is not found on Java side
> --------------------------------------------------
>
>                 Key: IGNITE-3455
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3455
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, platforms
>            Reporter: Denis Magda
>            Assignee: Igor Sapego
>            Priority: Blocker
>         Attachments: cpp.zip, java.zip
>
>
> If a custom key is used for cache values then the following scenario doesn't 
> work:
> - value is placed on C++ side;
> - value is read on Java side (value is not found here).
> Reverse direction is not workable as well.
> HashCode is implemented properly in C++ and Java.
> Fast debugging showed that a partition and primary node is calculated 
> properly. Looks like that there is a serialization related issue that leads 
> to the situation when "equals" fails during an object lookup.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to