Repository navigation
fix: do not hold a lock while matching indexer setups - #918
Conversation
Indexer setups were matched inside the lock of their list, so a slow or blocking matcher stalled every other thread that accessed or set up an indexer on the same mock, and could deadlock when it waited for such a thread. The setups are now copied on write, like the member-id tables, so matching reads them without a lock and without allocating.
|
Test Results 31 files ± 0 31 suites ±0 42m 41s ⏱️ - 1m 11s Results for commit e1b2f6f. ± Comparison against base commit 5466462. This pull request removes 22 and adds 18 tests. Note that renamed tests count towards both. |
🚀 Benchmark ResultsDetails
Details
Details
Details
Details
Details
|
…indexer setups (#918) by Valentin Breuß
…indexer setups (#918) by Valentin Breuß



Indexer setups were matched inside the lock of their list, so a slow or blocking matcher stalled every other thread that accessed or set up an indexer on the same mock, and could deadlock when it waited for such a thread. The setups are now copied on write, like the member-id tables, so matching reads them without a lock and without allocating.