You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey N. Gura (Jira)" <ji...@apache.org> on 2019/09/27 13:53:00 UTC

[jira] [Created] (IGNITE-12238) RobinHoodBackwardShiftHashMap works incorrectly on big endian architectures

Andrey N. Gura created IGNITE-12238:
---------------------------------------

             Summary: RobinHoodBackwardShiftHashMap works incorrectly on big endian architectures
                 Key: IGNITE-12238
                 URL: https://issues.apache.org/jira/browse/IGNITE-12238
             Project: Ignite
          Issue Type: Bug
            Reporter: Andrey N. Gura
            Assignee: Andrey N. Gura
             Fix For: 2.8


{{RobinHoodBackwardShiftHashMap}} has bug that can be reproduced only on big endinan architectures. In order to reproduce the problem run the following tests:

* {{RobinHoodBackwardShiftHashMapTest.testCollisionOnRemove}}
* {{testRandomOpsPutRemove}}

The problem is {{setIdealBucket()}} method writes {{long}} value to the offheap memory, while {{getIdealBucket()}} reads {{int}} value. For little endian architectures it works because meaningful 4 bytes will written first  to the memory and leading zero bytes will be rewriteen by the next operation. On big endian architecture always 4 zero bytes will be written to the memory.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)