[MDEV-25048] semaphore has too many locks Created: 2021-03-04 Updated: 2022-10-17 Resolved: 2021-04-20 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.3.27 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Critical |
| Reporter: | Streltsov | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 2 |
| Labels: | need_feedback, performance, semaphore | ||
| Environment: |
Debian 9.13 |
||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
The server is performing a heavy migration task and the task of recalculating data, parallel and in unrelated tables. Every 30 min we have problems with semaphores. |
| Comments |
| Comment by Thirunarayanan Balathandayuthapani [ 2021-03-04 ] | |||||
|
most of the threads are waiting to acquire dict_operation_lock. Remaining threads are waiting for index->lock. The below is the semaphore wait for the index lock:
I don't see any info about Thread 139955038029568 in the output. can you attach gdb while hanging and get thr a a bt ? | |||||
| Comment by Marko Mäkelä [ 2021-03-04 ] | |||||
|
It could also be useful to get more samples of what the server was doing during this hang. http://poormansprofiler.org/ or something like sudo perf top -g have been useful in the past. | |||||
| Comment by Streltsov [ 2021-03-09 ] | |||||
|
we had the index on the destination table, we dropped its. | |||||
| Comment by Marko Mäkelä [ 2021-03-09 ] | |||||
|
Victor, you do not have to stop or restart the server in order to attach a debugger to it. Without having stack traces of the active threads, we will be unable to analyze this. |