-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
None
-
Service Arch
-
Fully Compatible
-
v7.3, v7.2, v7.1, v7.0, v6.0, v5.0
-
Service Arch 2024-03-18, Service Arch 2024-04-01, Service Arch 2024-04-15
-
170
This primary targets serverStatus, and more specifically the FTDC thread running this command to collect metrics on active operations. Today, every invocation of serverStatus needs to exclusively lock the ServiceContext, and then iterate through the list of Client objects, individually lock them (using a spin-lock), and check their associated OperationContext. Under heavy-load, and if either of these locks is contended, this may result in stalls in collecting metrics.
The idea is to either bound the time spent waiting to acquire the ServiceContext mutex, or redesign the synchronization primitive (e.g. partition it) to make it more scalable / less susceptible to contentions during operation spikes.
- depends on
-
SERVER-88758 Add `pmr` allocators and containers to `stdx`
- Closed
- is related to
-
SERVER-76723 Create FTDC stall monitor
- Open
- related to
-
SERVER-93686 GDB commands mongodb-dump-mutexes and mongodb-dump-recovery-units error while accessing Clients in ServiceContext
- In Progress
-
SERVER-92486 Update core analyzer to use gdbmongo version 0.15.1
- Closed
-
SERVER-88771 Upgrade our macOS toolchain
- Closed