[MDEV-18930] Failed CREATE OR REPLACE TEMPORARY not written into binary log makes data on master and slave diverge Created: 2019-03-14 Updated: 2019-08-05 Resolved: 2019-08-05 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Temporary, Replication |
| Affects Version/s: | 10.0, 10.1, 10.2, 10.3, 10.4 |
| Fix Version/s: | 10.2.27, 10.1.42, 10.3.18, 10.4.8 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Sujatha Sivakumar (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
The problem starts when CREATE OR REPLACE TEMPORARY TABLE doesn't get written to the binary log. Somehow, the previous failure affects it. So, the slave still has the temporary table with a INT NOT NULL, while the master has the table with b INT [NULL], hence the failure. Partitioning doesn't play important role here, there are other limitations on temporary tables which cause the same effect, e.g. ROW_FORMAT=COMPRESSED with InnoDB. |
| Comments |
| Comment by Elena Stepanova [ 2019-03-25 ] | ||||
|
More variations of further replication abort (obvious, but mentioning them helps to find the existing bug report): Same test case, with ALTER TABLE t1 PARTITION BY HASH(b); instead of INSERT...:
or, with ALTER TABLE t1 ADD SYSTEM VERSIONING;:
| ||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-08-01 ] | ||||
|
Hello Sachin, Can you please review the fix for Patch: https://github.com/MariaDB/server/commit/1e58c579f5b61644a74045a0470d2c62b343eb75 Build Bot Link: http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.1-sujatha Thank you | ||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-08-05 ] | ||||
|
Fix has been implemented in version 10.1.42. For 10.2 and above only the result file needs to be re-recorded. 10.2 patch: https://github.com/MariaDB/server/commit/9834755b9e9cd4afcd1b650dcb36ae6010ee21e1 |