[MDEV-16909] RBR aborts with ER_NO_SUCH_TABLE upon RENAME on temporary table Created: 2018-08-07 Updated: 2024-02-04 |
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Temporary, Replication |
| Affects Version/s: | 10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6 |
| Fix Version/s: | 10.4, 10.5, 10.6 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Andrei Elkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
The replication problem appeared in 10.0.27 release after the commit below made RENAME on temporary table possible.
|
| Comments |
| Comment by Elena Stepanova [ 2019-05-31 ] | ||||||||||||||||||||||||||||||||
|
Apparently the same root cause, somewhat different effect:
| ||||||||||||||||||||||||||||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2021-09-07 ] | ||||||||||||||||||||||||||||||||
|
Hello elenst, I verified the test cases on latest 10.2 code base. On Master:
On slave:
Since temporary tables are not replicated in row based replication the above error Test case2 from JIRA page: On master:
On slave:
I verified the same test case on latest 10.5. It reports following error.
Can you please confirm. Thank you. | ||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2021-09-07 ] | ||||||||||||||||||||||||||||||||
|
I can't confirm that either of these is appropriate or expected. A simple operation like RENAME, which isn't a corner case in any way and doesn't require any superuser permissions, cannot be allowed to break replication like this. It is understandable why it is happening, as we know how RBR operates in regard to temporary tables, and how broken temporary tables are in general in regard to binlog/replication; but it still can't be declared an expected outcome. I also don't think it makes any sense to waste an effort on swapping ER_TABLE_EXISTS_ERROR with ER_NO_SUCH_TABLE, it really makes no practical difference from the end user perspective. I however agree that the failure is a small part of a big problem, for which we have plenty other reports; so, if you want to defer solving it to some major refactoring in replication of temporary tables, I think it is okay. |