[SERVER-38249] stdx::unordered_map should be implemented as absl::node_hash_map Created: 26/Nov/18  Updated: 29/Oct/23  Resolved: 20/Dec/18

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

Type: Task Priority: Major - P3
Reporter: Henrik Edin Assignee: Henrik Edin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-41872 PlanEnumerator AndAssignment::choices... Closed
is related to SERVER-38757 Using abseil hash maps for stdx::unor... Closed
is related to SERVER-38045 Dump session catalog using GDB scripting Closed
Backwards Compatibility: Fully Compatible
Sprint: Dev Tools 2018-12-17, Dev Tools 2018-12-31
Participants:

 Description   

absl::node_hash_map allocates the key and value in a separate node to provide iterator stability like std::unordered_map. A near drop-in replacement except no silly bucket interface. Also add stdx::unordered_set that implements as absl::node_hash_set



 Comments   
Comment by Githook User [ 29/Jan/19 ]

Author:

{'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin'}

Message: SERVER-38249 Upgrade Visual Studio version to 2017, change how vcredist_x64.exe is located
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/a8128b23a6f9a462b70d344d27533cbb318f1dbc

Comment by Githook User [ 20/Dec/18 ]

Author:

{'username': 'henrikedin', 'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin'}

Message: SERVER-38249 Implement stdx unordered_map and unordered_set as absl node hash map/set.

Remove stdx::unordered_multimap and multiset.

Custom hashers to stdx::unordered_map are not trusted by default, we
will rehash the produced hash with absl again to ensure we have a good
hash function.
Branch: master
https://github.com/mongodb/mongo/commit/6b641e86656df78e9f7ad2f364dec35e19df332e

Generated at Thu Feb 08 04:48:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.