Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.13
-
None
Description
The original murmur3_x64_128 code used unsigned int for seed arguments. Using the equivalent bit patterns in the commons codec version does not yield the same results.
I believe this is because the commons version does not account for sign extension etc.
Yonic Seeley yonik has explains the issue in his implementation https://github.com/yonik/java_util/blob/master/src/util/hash/MurmurHash3.java
He provides a test case to show that his code returns the same answers as the original C/C++ code. I modified that test to call the codec version to show the error.
I have attached that test case.
Given that the original code is in the wild I am uncertain how to fix this issue.
Attachments
Attachments
Issue Links
- relates to
-
CODEC-267 MurmurHash3.hash32() does not process trailing bytes as unsigned
- Resolved
- links to