[MDEV-12398] All cluster nodes stop due to a foreign key constraint failure Created: 2017-03-29 Updated: 2020-08-25 Resolved: 2017-06-20 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Galera |
| Affects Version/s: | 10.1.21 |
| Fix Version/s: | 10.1.24 |
| Type: | Bug | Priority: | Major |
| Reporter: | JF D | Assignee: | Sachin Setiya (Inactive) |
| Resolution: | Fixed | Votes: | 2 |
| Labels: | Galera | ||
| Environment: |
CentOS Linux release 7.3.1611 (Core) |
||
| Attachments: |
|
| Sprint: | 10.1.23 |
| Description |
|
We have 2 tables linked by a foreign key. Operations (insert, select, update, delete) are done on both tables on many cluster nodes simultaneously. Then all nodes "crash" with the following error message: We expect to have foreign key failures when executing the delete queries and to see deadlocks since many nodes are modifying the same tables simultaneously. To reproduce this issue we created a 2 nodes cluster with a simulated 50ms latency. Following command was executed on both cluster node to add 25ms latency on each: Without the latency we have a hard time reproducing this issue. We are currently using MariaDB 10.1.21 and Galera 25.3.19(r3667). We created a Perl script (publicTester.pl attached) which can reproduce this issue. The script needs to be edited to put the mysql command line client location as well as the database user name and password. The database and tables are created with the following command: Then on the first node we execute the following command: This inserts, queries, and deletes a single row from the parent table. On the second node we execute the following command: This inserts, queries, and deletes a single row from the child table. Once processes are started on each node, the failure occurs within 5 minutes bringing all cluster nodes down with the same error message. The script can be used to clean tables before doing other attempts: If there is any issue with the Perl script let me know. Here are the tables structure definitions: CREATE TABLE pbt ( |