[SERVER-37479] report amount of time that a locker blocks other acquirers Created: 04/Oct/18 Updated: 08/Jun/21 Resolved: 12/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency, Diagnostics |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Geert Bosch | Assignee: | Geert Bosch |
| Resolution: | Won't Do | Votes: | 1 |
| Labels: | SWDI | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Case: | (copied to CRM) | ||||||||
| Description |
|
Currently we report how long threads waited to acquire locks, but it is harder to find the reason why the lock wasn't granted. By adding statistics on how long a locker holds a lock while blocking other threads, we could surface problematic lockers. This should be straightforward to implement, because we already have the appropriate lock manager bucket locked when queuing the request, so we can just add a start block time to the granted request. |
| Comments |
| Comment by Geert Bosch [ 12/May/20 ] |
|
We decided to not implement this feature for the following reasons:
|
| Comment by Connie Chen [ 11/May/20 ] |
|
geert.bosch Could you give an overview of the work effort needed to complete this? |