[MDEV-15611] Due to the failure of foreign key detection, Galera slave node killed himself. Created: 2018-03-21 Updated: 2021-05-02 Resolved: 2018-04-19 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Galera |
| Affects Version/s: | 10.2.8, 10.2.10, 10.2.12, 10.3.1 |
| Fix Version/s: | 10.1.35, 10.2.15 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Devin Yu | Assignee: | Jan Lindström (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | galera | ||
| Environment: |
CentOS Linux release 7.3.1611 (Core) 3.10.0-514.26.2.el7.x86_64 MariaDB Galera Cluster (3 nodes) |
||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||
| Description |
|
err.log
Reproduce
This error didn't reproduce on MariaDB 10.2.7 with wsrep_slave_threads>1 |
| Comments |
| Comment by Sachin Setiya (Inactive) [ 2018-04-02 ] | |||||||||||||||||||||||||||
|
Thanks for the test case I am looking into it galera_mdev_15611.cnf | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-02 ] | |||||||||||||||||||||||||||
|
Actually I am not sure if this is bug or not, If we try to try to increase the may_apply_attempts
We can make the test case to pass. | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-03 ] | |||||||||||||||||||||||||||
|
Actually we don't need complicated insert
If we remove primary key from t2 then it will make slave node (node 2) to crash , with primary key , node 2 is aborted , which is not the correct behaviour | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-03 ] | |||||||||||||||||||||||||||
|
Comment from seppo I did some FK experiments with MariaDB 10.2 (latest development HEAD), and it turns out that, for an child table delete, only child table key is pushed into write set | |||||||||||||||||||||||||||
| Comment by Devin Yu [ 2018-04-03 ] | |||||||||||||||||||||||||||
|
Table t2 without PK, the purpose is to let "be removed from t2;" perform slowly, so slave can apply "delete from t2;" and "delete from t1;" concurrently . Thank you. | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-03 ] | |||||||||||||||||||||||||||
|
Hi 920895156@qq.com , Thanks for reminding that it does not fail in 10.2.7 , I have run git bisect and 2f342c450755fe7b6c39ec69930d240047c8242d is first bad commit, I am trying to understand what is does | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-04 ] | |||||||||||||||||||||||||||
|
Patch link http://lists.askmonty.org/pipermail/commits/2018-April/012274.html | |||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2018-04-05 ] | |||||||||||||||||||||||||||
|
The submitted patch would seem to reintroduce The function wsrep_must_process_fk() was introduced in sachin.setiya.007, in which exact code revisions can the failure be repeated? Note that | |||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2018-04-05 ] | |||||||||||||||||||||||||||
|
I think that the predicate should be rewritten like this:
That is, the condition on WSREP_ON is preserved, but the condition on node is negated. | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-08 ] | |||||||||||||||||||||||||||
|
Hi Marko! Thanks for the review, | |||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2018-04-08 ] | |||||||||||||||||||||||||||
|
Hi Marko! I pushed it into bb-mdev-15611 branch. | |||||||||||||||||||||||||||
| Comment by Guillaume Lefranc [ 2018-05-30 ] | |||||||||||||||||||||||||||
|
Is there a fix for MariaDB 10.1? | |||||||||||||||||||||||||||
| Comment by TAO ZHOU [ 2019-01-09 ] | |||||||||||||||||||||||||||
|
Is this already fixed. I am running 10.2.19 and still getting the same error. It didn't kill itself though.
| |||||||||||||||||||||||||||
| Comment by TAO ZHOU [ 2019-01-09 ] | |||||||||||||||||||||||||||
|
It's still crashing. |