[MDEV-20645] Replication consistency is broken as workers miss the error notification from an earlier failed group. Created: 2019-09-23 Updated: 2020-06-15 Resolved: 2019-09-30 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.1, 10.2, 10.3, 10.4 |
| Fix Version/s: | 10.2.28, 10.1.42, 10.3.19, 10.4.9 |
| Type: | Bug | Priority: | Major |
| Reporter: | Sujatha Sivakumar (Inactive) | Assignee: | Sujatha Sivakumar (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | optimistic, parallelslave | ||
| Description |
|
Enable parallel replication on slave. Table Structure: Execute following DML operations on master. INSERT INTO t2 VALUES (32); The above three transactions are scheduled for parallel execution on slave. |
| Comments |
| Comment by Sujatha Sivakumar (Inactive) [ 2019-09-23 ] | |||||||||
|
Hello Andrei, Please review the fix for https://github.com/MariaDB/server/commit/e07caf401c26cf8144899336d103e4c7aafd3d7a http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.1-sujatha Thank you. | |||||||||
| Comment by Andrei Elkin [ 2019-09-24 ] | |||||||||
|
Sujatha, the patch looks nice, and thanks for a good piece of work! I only was not happy about cluttering up the code block now with the 2nd @@ -1096,6 +1102,13 @@ handle_rpl_parallel_thread(void *arg) + DBUG_EXECUTE_IF("hold_worker_on_schedule", { + }); which largely copies the 1st one. We could actually keep just one generic simulation block
I am just throwing in the idea without urging yet to discuss it and implement. We would certainly benefit in having this sort of simulation policy which just bound with STATEMENT format a bit to much to my taste (a tentative feeling; should we have user variables logged along with Rows_log_events ...). | |||||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-09-30 ] | |||||||||
|
Fix for the issue is implemented in 10.1.42. The patch has been tested on higher versions. 10.2 patch: There is a minor change in test for 10.2. The 'enable_connect_log' and 'disable_connect_log' are not required. Hence they are removed. https://github.com/MariaDB/server/commit/62c05dd14a37b7c4dff3bf9069eca6dd1deb9235 10.3 patch: 10.4 patch: |