Bug #93948 | XID inconsistency on master-slave with CTAS | ||
---|---|---|---|
Submitted: | 16 Jan 2019 8:23 | Modified: | 8 Feb 2019 4:52 |
Reporter: | Krunal Bauskar | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 8.0.13 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[16 Jan 2019 8:23]
Krunal Bauskar
[16 Jan 2019 11:32]
MySQL Verification Team
Hello Krunal, Thank you for the report and test case. regards, Umesh
[17 Jan 2019 9:52]
Sven Sandberg
Posted by developer: It is not a bug that the XID is different on master and slave. In fact, we don't apply the XID on the slave, but we generate a new XID when applying the transaction. It is expected that they are different. Since you reported a bug, does this affect you in any way? What breaks for you due to this?
[8 Feb 2019 4:13]
Krunal Bauskar
I see it is okay to have different xid on master and slave but shouldn't there be semantics consistency. if the slave has xid for create table why not master or say opposite behavior.
[8 Feb 2019 4:52]
Krunal Bauskar
I also see the comments hint towards logging complete CTAS with same XID. (So master behavior seems to be as per design but slave behavior doesn't seems to comply with original design comment or thoughts). } else { /* Note SQLCOM_XA_COMMIT, SQLCOM_XA_ROLLBACK fall into this block. Even though CREATE-TABLE sub-statement of CREATE-TABLE-SELECT in RBR makes a turn here it is logged atomically with the SELECT Rows-log event part that determines the xid of the entire group. */ event_logging_type = Log_event::EVENT_IMMEDIATE_LOGGING; event_cache_type = Log_event::EVENT_STMT_CACHE; DBUG_ASSERT(ddl_xid == binary_log::INVALID_XID); if (thd->rli_slave) thd->rli_slave->ddl_not_atomic = true; }