Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
Description
On a replication slave that has parallel replication enabled, if slave_parallel_max_queued is set too small, then the SQL thread's queue can sometimes be too small to assign work to all of the slave worker threads. When this happens, the SQL thread's state will be "Waiting for room in worker thread event", and the idle worker thread's state will be "Waiting for work from SQL thread".
| 4 | system user | | NULL | Connect | 139 | Waiting for work from SQL thread | NULL | 0.000 |
|
...
|
| 21 | system user | | NULL | Connect | 45 | Waiting for room in worker thread event queue | NULL | 0.000 |
|
...
|
I think it would be useful to add a status variable that gets incremented if slave's parallel worker thread is idle because the SQL thread's queue is full.