[MDEV-27365] CREATE-or-REPLACE bilogged without DDL flag Created: 2021-12-26 Updated: 2023-10-23 Resolved: 2023-10-23 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.3, 10.4, 10.5, 10.6, 10.7 |
| Fix Version/s: | 10.8.1, 10.4.24, 10.5.15, 10.6.7, 10.7.3, 10.8.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrei Elkin | Assignee: | Andrei Elkin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
create or replace of both table and sequence are not logged with Gtid event DDL flag
of MDL_context::acquire_lock |
| Comments |
| Comment by Andrei Elkin [ 2021-12-26 ] |
|
Brandon, this one needs fixing the master side. That's why I test it only there. |
| Comment by Andrei Elkin [ 2022-01-03 ] |
|
I simplified the commit to withdraw the regular table part. It turns out the stmt level flag is not completely lost in that case. The stmt flag gets merged into all the whole trx flag set and Gtid ctor finds the "all" one. I somewhat missed to read that. In the Sequence case the merging is also done, but "all" gets cleared 'cos of an implicit_commit call before C-o-R Seq eventually gets to executing the ctor. So that part is preserved. The test is also rather trivial now. Pushed to bb-10.3-andrei (as the Seq is added starting from it). |
| Comment by Brandon Nesterenko [ 2022-01-04 ] |
|
Elkin the new commit from bb-10.3-andrei (80da35a) looks good, approved. |
| Comment by Andrei Elkin [ 2022-01-26 ] |
|
Another execution branch is found to lose the flag. A new commit is coming out. |
| Comment by Andrei Elkin [ 2022-01-26 ] |
|
9e5ea2ef4a9 and its predecessor commits were pushed first to 10.8 QA branch to remove the issue |
| Comment by Brandon Nesterenko [ 2022-01-27 ] |
|
Patch review. On my end I only would like to see a code comment which explains the expected life-cycle of the flags. |
| Comment by Brandon Nesterenko [ 2022-01-27 ] |
|
The latest patch 55a01af looks good. Thanks! |