Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.15
-
None
Description
Row based replication stopped with
Last_Errno: 1677
|
Last_Error: Column 23 of table 'HALLEY.ANANCHC' cannot be converted from type 'varchar(20)' to type 'varchar(20)'
|
unless
slave_type_conversion=ALL_NON_LOSSY
|
was enabled.
The types in the error message are both `varchar(20)`, and `SHOW CREATE TABLE` output and even `.frm` file contents are exactly the same on master and slave.
There was a BINLOG'...' provided that indeed contained encoded length for the col #23 as 20 (bytes). The actual column on slave has it 60, due to UTF8.
After decoding that BINLOG'...' to discover 20 bytes for a column declared as
`a_field` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ' ', I can only think of
that BINLOG'...' was created against a different column definition, one that would clearly lack utf8 charset.
Per direct verification 10.2.15 in particular creates BINLOG for the field with the value of 60 for its length, therefore
no conversion issue would happen, in contrast to the claim.