[SERVER-21465] FTS index key version 2 is not endian-safe Created: 15/Nov/15  Updated: 20/Aug/16  Resolved: 04/Apr/16

Status: Closed
Project: Core Server
Component/s: Portability
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Bryan Chan Assignee: DO NOT USE - Backlog - Platform Team
Resolution: Done Votes: 0
Labels: fvok
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-21828 big-endian fix for MurmurHash3.cpp Closed
Related
is related to SERVER-21252 Enable building on Linux s390x Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

FTSIndexFormat::_appendIndexKey() uses MurmurHash3_x64_128() which computes a hash that consists of two uint64_t values. The hash is then encoded into a hex string, without considering the byte order. For correctness, the two halves of the hash should be coerced into little-endian order first.



 Comments   
Comment by Bryan Chan [ 20/Nov/15 ]

I should mention that SERVER-21252 refers to an upstream MurmurHash3 fix for big-endian systems (item #9). I believe that fix is required to resolve this issue.

Generated at Thu Feb 08 03:57:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.