[SERVER-48737] Document Server-Internal Synchronization Primitives Created: 11/Jun/20  Updated: 06/Dec/22

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

Type: Task Priority: Major - P3
Reporter: Benjamin Caimano (Inactive) Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: sa-remove-fv-backlog-22
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Service Arch
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2020-08-24, Service arch 2020-09-07
Participants:

 Description   

We have a decent amount of internal synchronization infrastructure for locking, notification, and threading. They live in these src directories:

  • mongo/stdx
  • mongo/platform
  • mongo/util

There are three topics here:

  • Locking and Latching (includes Mutex, WithLock, SpinLock, LatchAnalyzer, DiagnosticInfo)
  • Notification (Notifyable, stdx::condition_variable, Notification)
  • Threading (BackgroundJob, PeriodicRunner[Impl], stdx::thread)

Since this spans several directories, we should make a new markdown in the docs folder. This is intended to be abstract documentation, describe relationships and state transitions not code in common language.


Generated at Thu Feb 08 05:17:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.