[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: |
|
||||||||||||
| 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: (cherry picked from commit d563b873d33425bb95d7f7a1026629e69e95f9b4) |
| Comment by Githook User [ 23/Jun/23 ] |
|
Author: {'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}Message: |
| Comment by Amr Elhelw [ 13/Jun/23 ] |
|
kyle.suarez@mongodb.com Should we add this to the 7.0 performance effort? |