./categories/server
Lock wait timeout exceeded
Lock wait timeout exceeded; try restarting transaction
InnoDB row/gap lock 대기 초과. 긴 트랜잭션·REPEATABLE-READ gap lock이 흔한 원인.
[mysqld]
innodb_lock_wait_timeout = 240
transaction-isolation = READ-COMMITTED
확인:
SHOW VARIABLES LIKE '%wait_timeout%';
SHOW VARIABLES LIKE '%tx_isolation%';
-- 또는 transaction_isolation
앱 쪽: 트랜잭션 짧게, 데드락/락 보유 세션 점검 (SHOW ENGINE INNODB STATUS).
관련 링크: https://highavailability.tistory.com/6
./comments