[SERVER-77698] Replace MurmurHash3 with absl::Hash if possible in SimpleStringDataComparator::hash_combine Created: 01/Jun/23  Updated: 31/Oct/23

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

Type: Task Priority: Major - P3
Reporter: Dan Larkin-York Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-82618 Replace usages of absl::hash_internal Backlog
is depended on by SERVER-78302 Add micro-benchmark for getWriterId()... Closed
Related
related to SERVER-48429 Remove StringData::ComparatorInterfac... Closed
Assigned Teams:
Query Execution
Sprint: QE 2023-06-26, QE 2023-07-10, QE 2023-07-24, QE 2023-08-07, QE 2023-08-21, QE 2023-09-04, QE 2023-09-18, QE 2023-10-02
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 Ivan Fefer [ 31/Oct/23 ]

Postponing this ticket until we resolveĀ SERVER-82618 that will affect what hash are we going to use

Comment by David Storch [ 09/Oct/23 ]

It seems like this ticket is in a bad state, since it's scheduled but unassigned. I'll put it back into the QE triage queue.

Comment by Dan Larkin-York [ 06/Jun/23 ]

Sending over to QE to take a look.

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