-
Type: Bug
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Query Planning
-
Query Optimization
-
ALL
-
QO 2024-05-27, QO 2024-06-10
- TSAN fails an assertion if more than 64 locks are active on a single thread
- https://github.com/llvm-mirror/compiler-rt/blob/master/lib/sanitizer_common/sanitizer_deadlock_detector.h#L67
CHECK_LT(n_all_locks_, ARRAY_SIZE(all_locks_with_contexts_));
- SBE plan cache creates one partition (and one mutex) for each core in the system:
globalPlanCache = std::make_unique<sbe::PlanCache>(cappedCacheSize, ProcessInfo::getNumLogicalCores());
The rhel80-xxlarge distro uses a c6a.24xlarge machine with 96 cores. This results in attempting to lock 96 partitions when clearing the cache and exceeds the 64 lock limit in TSAN.
- is related to
-
SERVER-90940 Partition the Classic plan cache to reduce lock contention
- Open
- related to
-
SERVER-73290 WiredTiger hits limits of TSAN deadlock detector
- Backlog