[ https://issues.apache.org/jira/browse/IGNITE-5455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16044581#comment-16044581 ]
Pavel Tupitsyn commented on IGNITE-5455: ---------------------------------------- Merged to master: {{3c5ffd1ac7556b99b64aed70aea58b2d90abc51a}} > .NET: Incorrect binary object hash code calculation > --------------------------------------------------- > > Key: IGNITE-5455 > URL: https://issues.apache.org/jira/browse/IGNITE-5455 > Project: Ignite > Issue Type: Bug > Components: platforms > Affects Versions: 2.0 > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Priority: Critical > Labels: .NET > Fix For: 2.1 > > > Hash code is calculated over binary object data with the following code in > Java and .NET: > {code} > for (int i = start; i <= end; i++) > hash = 31 * hash + data[i]; > {code} > Where {{data}} is {{byte[]}} in Java and .NET. > And {{byte}} is signed in Java and unsigned in .NET. > So in our simple tests on small values it works, but fails on real world data. > As a result, for non-primitive keys: > * DML is broken > * Java interop is broken -- This message was sent by Atlassian JIRA (v6.3.15#6346)