Bug #99768 | Unnecessary Deadlock running INSERT LOW_PRIORITY IGNORE | ||
---|---|---|---|
Submitted: | 3 Jun 2020 14:11 | Modified: | 4 Jun 2020 12:23 |
Reporter: | L Willis | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.7.29 | OS: | MacOS |
Assigned to: | CPU Architecture: | Any |
[3 Jun 2020 14:11]
L Willis
[3 Jun 2020 14:13]
L Willis
Output from SHOW ENGINE INNODB STATUS
Attachment: innodb_status.txt (text/plain), 20.15 KiB.
[4 Jun 2020 12:23]
MySQL Verification Team
Hi Mr. Willis, Thank you for your bug report. However, this is not a bug, at all. This is a very well documented behaviour. Documented in our Reference Manual. You are using InnoDB storage engine. That means, that even if you do not start explicitly a transaction, or even if you are using autocommit mode only, transactions are automatically started. Your INSERT is translated, with InnoDB, like this: START TRANSACTION INSERT INTO ...... COMMIT Deadlock that you get is a classical deadlock due to the lock escalation. Since you have two parallel INSERT... vying for the same X locks, it is normal that you get a deadlock. Deadlock is only a proof that InnoDB SE functions properly. You should change your application, so that rolled back transaction is committed. This is all fully explained in our Reference Manual. Not a bug.