[SERVER-77702] Replace MurmurHash3 with absl::Hash if possible in Value::hash_combine Created: 01/Jun/23  Updated: 29/Oct/23  Resolved: 23/Jun/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0, 7.0.0-rc6

Type: Task Priority: Major - P3
Reporter: Dan Larkin-York Assignee: David Storch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Related
related to SERVER-78126 For specific kinds of input, mongo::V... Closed
Assigned Teams:
Query Execution
Backwards Compatibility: Fully Compatible
Backport Requested:
v7.0
Sprint: QE 2023-06-26
Participants:

 Description   

MurmurHash3 is a pretty old hash function that's slow and produces low-quality hashes compared to modern alternatives like absl::Hash (CityHash). We want to replace any uses of MurmurHash3 which are for in-memory use only, as we expect this to yield quick perf wins. Hash values that are persisted to disk across restarts or sent across the network between servers are likely unsafe to change, and should be annotated with a clear explanation for why the usage requires a stable hash computation.



 Comments   
Comment by Githook User [ 23/Jun/23 ]

Author:

{'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}

Message: SERVER-77702 Replace MurmurHash3 with absl::Hash in Value::hash_combine()

(cherry picked from commit d563b873d33425bb95d7f7a1026629e69e95f9b4)
Branch: v7.0
https://github.com/mongodb/mongo/commit/120b67d21803e8eeff33b67e084eb412235be2a9

Comment by Githook User [ 23/Jun/23 ]

Author:

{'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}

Message: SERVER-77702 Replace MurmurHash3 with absl::Hash in Value::hash_combine()
Branch: master
https://github.com/mongodb/mongo/commit/d563b873d33425bb95d7f7a1026629e69e95f9b4

Comment by Amr Elhelw [ 13/Jun/23 ]

kyle.suarez@mongodb.com Should we add this to the 7.0 performance effort?

Generated at Thu Feb 08 06:36:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.