------------------------ LATEST DETECTED DEADLOCK ------------------------ 2025-09-19 21:42:10 0x7f2cd67fa700 *** (1) TRANSACTION: TRANSACTION 24692, ACTIVE 3 sec starting index read mysql tables in use 2, locked 2 LOCK WAIT 5 lock struct(s), heap size 1128, 3 row lock(s) MySQL thread id 127, OS thread handle 139832472479488, query id 44118 localhost appuser updating UPDATE order_items SET qty = qty + 1 WHERE order_id = 500 AND id = 1001 *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 121 page no 145 n bits 72 index `PRIMARY` of table `shop`.`orders` trx id 24692 lock_mode X locks rec but not gap waiting Record lock, heap no 7 PHYSICAL RECORD: n_fields 6; compact format; info bits 0 0: len 4; id=500 1: ... (hidden/internal fields omitted) *** (2) TRANSACTION: TRANSACTION 24691, ACTIVE 4 sec updating or deleting 4 lock struct(s), heap size 1136, 4 row lock(s) MySQL thread id 123, OS thread handle 139832488126208, query id 44116 localhost appuser updating UPDATE orders SET status = 'processed' WHERE id = 500 *** (2) HOLDS THE LOCK(S): RECORD LOCKS space id 121 page no 145 n bits 72 index `PRIMARY` of table `shop`.`orders` trx id 24691 lock_mode X locks rec but not gap Record lock, heap no 7 PHYSICAL RECORD: n_fields 6; compact format; info bits 0 0: len 4; id=500 1: ... (hidden/internal fields omitted) *** (2) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 122 page no 88 n bits 80 index `fk_order_items_order_id` of table `shop`.`order_items` trx id 24691 lock_mode X locks rec but not gap waiting Record lock, heap no 12 PHYSICAL RECORD: n_fields 6; compact format; info bits 0 0: len 4; order_id=500 1: ... (hidden/internal fields omitted) *** WE ROLL BACK TRANSACTION (1)