Bug #100058 | InnoDB hangs for 500s when renaming table | ||
---|---|---|---|
Submitted: | 1 Jul 2020 8:50 | Modified: | 3 Jul 2020 2:54 |
Reporter: | Xinjing Zhou-from TxSQL Team at Tencent | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.7.29, 5.7.30 | OS: | Linux |
Assigned to: | CPU Architecture: | x86 (24 cores) | |
Tags: | deadlock |
If the data you need to attach is more than 50MB, you should create a compressed archive of the data, split it to 50MB chunks, and upload each of them as a separate attachment.
To split a large file:
- On *nix platforms use the split command e.g.
split -b 50MB <my_large_archive> <my_split_archive_prefix>
- On windows use WinZip or a similar utility to split the large file
[1 Jul 2020 8:52]
Xinjing Zhou-from TxSQL Team at Tencent
[1 Jul 2020 8:53]
Xinjing Zhou-from TxSQL Team at Tencent
dump of the database "sbtest"
Attachment: sbtest.sql (application/octet-stream, text), 958.72 KiB.
[1 Jul 2020 8:57]
Xinjing Zhou-from TxSQL Team at Tencent
MySQL configuration file
Attachment: my.cnf (application/octet-stream, text), 2.36 KiB.
[1 Jul 2020 8:58]
Xinjing Zhou-from TxSQL Team at Tencent
go program for reproducing the hang
Attachment: rename-update.go (application/octet-stream, text), 7.26 KiB.
[1 Jul 2020 9:08]
Xinjing Zhou-from TxSQL Team at Tencent
Patch for fixing the issue
Attachment: rename-update-hang-fix.patch (application/octet-stream, text), 396 bytes.
[2 Jul 2020 7:01]
Xinjing Zhou-from TxSQL Team at Tencent
Sample result of the "show processlist " command when the deadlock occurs.
Attachment: show-processlist.txt (text/plain), 9.12 KiB.