[SERVER-74752] Add read-copy-update map class Created: 10/Mar/23  Updated: 29/Oct/23  Resolved: 17/Mar/23

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

Type: Improvement Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Jordi Olivares Provencio
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2023-03-20
Participants:

 Description   

In order to not block modifications to the hashmap of collection truncate markers needed for Change Collection and Pre-Image collection management under one mutex we must create a lock-free hashmap. Otherwise we risk having large contention of entries.

A read-copy-update approach is suitable here as it would let us:

  • Perform CollectionTruncate marker updates without any locks
  • Free us from lifetime concerns in the remover thread

This map in particular should make it so all values between map instances are shared in order to coordinate correctly between threads.



 Comments   
Comment by Githook User [ 16/Mar/23 ]

Author:

{'name': 'Jordi Olivares Provencio', 'email': 'jordi.olivares-provencio@mongodb.com', 'username': 'jordiolivares'}

Message: SERVER-74752 Add read-copy-update map class
Branch: master
https://github.com/mongodb/mongo/commit/62e9e33609e5fd23ebd22ac319c39c6cb1bccfdc

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