3138
MySQLERRORNotableReplicationHIGH confidence
Multi-threaded slave: event size exceeds max pending jobs size
Production Risk
Medium — replication lag or failure if large events cannot be processed.
What this means
In multi-threaded replication, a single binlog event is larger than the slave_pending_jobs_size_max limit, which prevents the event from being queued for a worker thread.
Why it happens
- 1A large transaction (e.g., bulk INSERT or large BLOB) produces a binlog event exceeding slave_pending_jobs_size_max.
How to reproduce
trigger — this will error
trigger — this will error
-- Source: INSERT INTO t SELECT * FROM large_table; -- generates huge event
expected output
ERROR 3138 (HY000): Multi-threaded slave: Event is larger than slave_pending_jobs_size_max.
Fix 1
Increase slave_pending_jobs_size_max
Increase slave_pending_jobs_size_max
SET GLOBAL slave_pending_jobs_size_max = 134217728; -- 128 MB
Why this works
Allows larger events to be queued for worker threads.
Fix 2
Break large transactions into smaller batches
Break large transactions into smaller batches
-- Split large inserts into batches of 1000 rows
Why this works
Prevents individual events from exceeding the queue size limit.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 3138 ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX2
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev