Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Incomplete
-
Affects Version/s: 10.0.0
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:Linux RHEL6
Description
Setup:
Master: Percona 5.5.24-rel26.0.256
Middle: Percona 5.5.20-rel24.1.217
Slave: MariaDB-10.0.0
On Master:
Say you have the following table:
CREATE TABLE `audit_publication_publication_rtb` (
`audit_publication_publication_rtb_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`publication_id` int(10) unsigned NOT NULL,
`old_publisher_id` int(10) unsigned DEFAULT NULL,
`old_rtb_id` varchar(255) DEFAULT NULL,
`new_publisher_id` int(10) unsigned DEFAULT NULL,
`new_rtb_id` varchar(255) DEFAULT NULL,
`record_action` int(1) DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`audit_publication_publication_rtb_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
This table is being inserted into constantly.
I then run the following statement:
ALTER TABLE adfonic.audit_publication_publication_rtb
ADD old_status VARCHAR(32) AFTER old_rtb_id,
ADD new_status VARCHAR(32) AFTER new_rtb_id;
This propagates fine to the Middle server.
However, on the Slave server running MariaDB 10.0.0, this seems to cause replication to break:
Slave_SQL_Running is No
Last_Error is Column 4 of table 'db.audit_publication_publication_rtb' cannot be converted from type 'varchar(96)' to type 'int(10) unsigned', Last_SQL_Error is Column 4 of table 'db.audit_publication_publication_rtb' cannot be converted from type 'varchar(96)' to type 'int(10) unsigned'
At a glance, it looks like the inserts in new format are somehow overtaking the alter table statement in the replication stream.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Hi Gordan,
Can you locate and paste the fragments from the binary log files (master and middle servers) related to guilty statement/event and preceding it?
Finding them in the middle server binlog is simple, since the slave's error log provides the exact binlog name and position where the problem occurred. Finding them in the master log might be trickier, but should also be possible.