Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table `test`.`t3` has
Submitted: 11 Sep 2006 12:49 Modified: 26 Mar 2008 20:27
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.1.12-new-rpl OS:Linux (Linux 32 Bit OS)
Assigned to: Andrei Elkin CPU Architecture:Any

[11 Sep 2006 12:49] Jonathan Miller
Description:
According to Lars, we should not be getting:
[ERROR] Slave: Error in Write_rows event: error during transaction execution on table test.t3, Error_code: 1364

When testing extra column on slave w/o default values I get:

[ERROR] Slave: Field `d` of table `test`.`t3` has no default value and cannot be NULL, Error_code: 1364
[ERROR] Slave: Error in Write_rows event: error during transaction execution on table test.t3, Error_code: 1364

And then the slave stops leaving "Error in Write_rows event:" as the show slave status error. Instead, the slave should stop on "Field `d` of table `test`.`t3` has no default value" and this should be what shows in slave status.

How to repeat:
STOP SLAVE;
RESET SLAVE;
eval CREATE TABLE t3 (a INT KEY, b BLOB, c CHAR(5),
                      d TIMESTAMP,
                      e INT DEFAULT '1')ENGINE=$engine_type;

--echo *** Create t3 on Master ***
connection master;
eval CREATE TABLE t3 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
                       ) ENGINE=$engine_type;
RESET MASTER;

--echo *** Start Slave ***
connection slave;
START SLAVE;

--echo *** Master Data Insert ***
connection master;
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
INSERT INTO t3 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');

sync_slave_with_master;

Suggested fix:
the slave should stop on "Field `d` of table `test`.`t3` has no default value" and this should be what shows in slave status.
[28 Feb 2008 13:05] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/43145

ChangeSet@1.2545, 2008-02-28 15:03:26+02:00, aelkin@mysql1000.(none) +3 -0
  Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table
  
  There was a failure in that show slave status displayed a wrong message
  when slave stopped at processing a row event inserting to a default-less
  column.
  
  The problem seem to have ceased after recent fixes in rbr code.
  However, the test was not updated to carry testing of the case commented-out.
  
  Uncommenting and editing the test.
  Notice, Bug#23907 is most probably a duplicate of this one.
[6 Mar 2008 12:00] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/43514

ChangeSet@1.2545, 2008-03-06 13:58:03+02:00, aelkin@mysql1000.(none) +4 -0
  Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table
  
  There was a failure in that show slave status displayed a wrong message
  when slave stopped at processing a row event inserting to a default-less
  column.
  
  The problem seem to have ceased after recent fixes in rbr code.
  However, the test was not updated to carry testing of the case commented-out.
  
  Uncommenting and editing the test.
  Notice, Bug#23907 is most probably a duplicate of this one.
[6 Mar 2008 18:36] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/43546

ChangeSet@1.2545, 2008-03-06 20:32:47+02:00, aelkin@mysql1000.(none) +5 -0
  Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table
  
  There was a failure in that show slave status displayed a wrong message
  when slave stopped at processing a row event inserting to a default-less
  column.
  
  The problem seem to have ceased after recent fixes in rbr code.
  However, the test was not updated to carry testing of the case commented-out.
  
  Uncommenting and editing the test.
  Notice, Bug#23907 is most probably a duplicate of this one.
[6 Mar 2008 18:37] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/43548

ChangeSet@1.2545, 2008-03-06 20:24:23+02:00, aelkin@mysql1000.(none) +4 -0
  Bug #22234 Extra Slave Col: Slave should stop on Error Field `d` of table
  
  There was a failure in that show slave status displayed a wrong message
  when slave stopped at processing a row event inserting to a default-less
  column.
  
  The problem seem to have ceased after recent fixes in rbr code.
  However, the test was not updated to carry testing of the case commented-out.
  
  Uncommenting and editing the test.
  Notice, Bug#23907 is most probably a duplicate of this one.
[7 Mar 2008 12:45] Andrei Elkin
Pushed to 5.1-rpl.
[25 Mar 2008 11:23] Bugs System
Pushed into 5.1.24-rc
[26 Mar 2008 19:00] Bugs System
Pushed into 6.0.5-alpha
[26 Mar 2008 20:27] Jon Stephens
Closed without further action since this appears to be a fix of a test case only.