[MDEV-19925] Column ... cannot be converted from type 'varchar(20)' to type 'varchar(20)' Created: 2019-07-02 Updated: 2019-09-06 Resolved: 2019-08-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.2.15 |
| Fix Version/s: | 10.2.27, 10.3.18, 10.4.8 |
| Type: | Bug | Priority: | Major |
| Reporter: | Hartmut Holzgraefe | Assignee: | Sujatha Sivakumar (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Row based replication stopped with
unless
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. |
| Comments |
| Comment by Andrei Elkin [ 2019-07-11 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
After decoding that BINLOG'...' to discover 20 bytes for a column declared as Per direct verification 10.2.15 in particular creates BINLOG for the field with the value of 60 for its length, therefore | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrei Elkin [ 2019-07-12 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
sujatha.sivakumar, commit 47bd3f7cf3c8518f62b1580ec65af2ba7ac13b95 Bug#25135304: RBR: WRONG FIELD LENGTH IN ERROR MESSAGE Description: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-07-15 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cherry-pick is in progress. This will fix confusing error messages like shown below. Case 1:
2. Run the test case: perl mysql-test-run.pl --mem rpl_x.test 3. Watch the test fail and look at the error message: [...] Case 2:
Case 3:
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-07-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hello Andrei, Please review the fixes for There is a small change in the patch apart from the cherry-pick. sql/rpl_utility.cc + (field->real_type() != MYSQL_TYPE_ENUM && Patch has been tested in build bot. Thank you. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Alexander Barkov [ 2019-08-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi Sujatha, The patch Thanks! | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-08-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Fix for this issue is implemented in 10.2.27. Please find 10.4 changes: https://github.com/MariaDB/server/commit/dc0f2438b8d71ef6301f43009a0c8de54a8e945f |