[MDEV-4721] Circular References Cause MariaDB 10.x to Lock Up Created: 2013-06-27 Updated: 2013-08-16 Resolved: 2013-08-16 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.3 |
| Fix Version/s: | 10.0.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Gordan Bobic | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | upstream | ||
| Environment: |
Linux EL6 |
||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
If two tables exist with each referring to the other, executing an update on either of the tables causes MariaDB to get stuck indefinitely, using 100% of CPU. This seems to be affecting all 10.x releases so far, but this is the first time I have had a test case this small and compact to reproduce it. The same issue does not arise on MySQL 5.1, so this is a regression (and quite a nasty one). Attached is a data set with which the problem is reproducible, just two tables with three records between them. cat the attached file into an empty database, and execute the following query on it:
The query will go away forever with the mysqld thread executing it consuming 100% CPU until killed (can only be killed with kill -9). |
| Comments |
| Comment by Elena Stepanova [ 2013-06-27 ] |
|
Also reproducible on MySQL 5.6.5 (that's the version of InnoDB that MariaDB 10.0.3 has), but not reproducible on MySQL 5.6.11; so, the chances are the fix will be merged into MariaDB 10.0.4 along with the InnoDB merge that is going on now. I will keep it open and re-check it as soon as the merge is finished. |
| Comment by Elena Stepanova [ 2013-07-17 ] |
|
Does not hang on 10.0-monty after the merge revision-id: sergii@pisem.net-20130715205006-d0u5u35svmfdpdt4 |
| Comment by Elena Stepanova [ 2013-08-16 ] |
|
Fixed by the InnoDB 5.6.10 merge |