List:Commits« Previous MessageNext Message »
From:Mats Kindahl Date:March 4 2008 10:45am
Subject:Re: bk commit into 5.1 tree (aelkin:1.2545) BUG#22234
View as plain text  
Hi Andrei!

Just printing the field and not the table in the error message will make 
it a problem to identify exactly what field that is the problem. Please 
add the table name (and the database name) to the error message.

Just my few cents,
Mats Kindahl


Andrei Elkin wrote:
> Below is the list of changes that have just been committed into a local
> 5.1 repository of aelkin.  When aelkin does a push these changes
> will be propagated to the main repository and, within 24 hours after the
> push, to the public repository.
> For information on how to access the public repository
> see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
>
> ChangeSet@stripped, 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.
>
>   mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test@stripped, 2008-02-28 15:03:24+02:00,
> aelkin@mysql1000.(none) +26 -33
>     uncommenting the test that previously failed.
>
>   mysql-test/suite/rpl/r/rpl_extraCol_innodb.result@stripped, 2008-02-28 15:03:24+02:00,
> aelkin@mysql1000.(none) +56 -0
>     results changed due to the correct expected error message of an added test
>     is displayed.
>
>   mysql-test/suite/rpl/r/rpl_extraCol_myisam.result@stripped, 2008-02-28 15:03:24+02:00,
> aelkin@mysql1000.(none) +56 -0
>     results changed to reflect the test changes
>
> diff -Nrup a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
> b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
> --- a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test	2007-10-31 21:00:09 +02:00
> +++ b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test	2008-02-28 15:03:24 +02:00
> @@ -403,45 +403,38 @@ sync_slave_with_master;
>  # added columns do not have default values#
>  # Expect: Proper error message            #
>  ###########################################
> -# Commented out due to Bug #23907 Extra Slave Col is not 
> -#  erroring on extra col with no default values.
> +# Bug#22234, Bug#23907 Extra Slave Col is not 
> +# erroring on extra col with no default values.
>  ########################################################
>  #--echo *** Create t9 on slave  ***
> -#STOP SLAVE;
> -#RESET SLAVE;
> -#eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
> -#                      d TIMESTAMP,
> -#                      e INT DEFAULT '1')ENGINE=$engine_type;
> +STOP SLAVE;
> +RESET SLAVE;
> +eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
> +                      d TIMESTAMP,
> +                      e INT NOT NULL) ENGINE=$engine_type;
>  
> -#--echo *** Create t9 on Master ***
> -#connection master;
> -#eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
> -#                       ) ENGINE=$engine_type;
> -#RESET MASTER;
> +--echo *** Create t9 on Master ***
> +connection master;
> +eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
> +                       ) ENGINE=$engine_type;
> +RESET MASTER;
>  
> -#--echo *** Start Slave ***
> -#connection slave;
> -#START SLAVE;
> +--echo *** Start Slave ***
> +connection slave;
> +START SLAVE;
>  
> -#--echo *** Master Data Insert ***
> -#connection master;
> -#set @b1 = 'b1b1b1b1';
> -#set @b1 = concat(@b1,@b1);
> -#INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
> +--echo *** Master Data Insert ***
> +connection master;
> +set @b1 = 'b1b1b1b1';
> +set @b1 = concat(@b1,@b1);
> +INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
>  
> -#--echo *************************************************
> -#--echo ** Currently giving wrong error see bug#22234 ***
> -#--echo *************************************************
> -#sync_slave_with_master;
> -#connection slave;
> -
> -#--echo *** Select from T9 ***
> -#--source include/wait_for_slave_sql_to_stop.inc
> -#--replace_result $MASTER_MYPORT MASTER_PORT
> -#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
> -#--query_vertical SHOW SLAVE STATUS
> -#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
> -#START SLAVE;
> +--source include/wait_for_slave_sql_to_stop.inc
> +--replace_result $MASTER_MYPORT MASTER_PORT
> +--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
> +--query_vertical SHOW SLAVE STATUS
> +SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
> +START SLAVE;
>  
>  #--echo *** Drop t9  ***
>  #connection master;
> diff -Nrup a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
> b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
> --- a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result	2007-11-21 22:09:20 +02:00
> +++ b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result	2008-02-28 15:03:24 +02:00
> @@ -399,6 +399,62 @@ set @b1 = concat(@b1,@b1);
>  INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
>  *** Drop t8  ***
>  DROP TABLE t8;
> +STOP SLAVE;
> +RESET SLAVE;
> +CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
> +d TIMESTAMP,
> +e INT NOT NULL) ENGINE='InnoDB';
> +*** Create t9 on Master ***
> +CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
> +) ENGINE='InnoDB';
> +RESET MASTER;
> +*** Start Slave ***
> +START SLAVE;
> +*** Master Data Insert ***
> +set @b1 = 'b1b1b1b1';
> +set @b1 = concat(@b1,@b1);
> +INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
> +SHOW SLAVE STATUS;
> +Slave_IO_State	#
> +Master_Host	127.0.0.1
> +Master_User	root
> +Master_Port	#
> +Connect_Retry	1
> +Master_Log_File	master-bin.000001
> +Read_Master_Log_Pos	#
> +Relay_Log_File	#
> +Relay_Log_Pos	#
> +Relay_Master_Log_File	master-bin.000001
> +Slave_IO_Running	Yes
> +Slave_SQL_Running	No
> +Replicate_Do_DB	
> +Replicate_Ignore_DB	
> +Replicate_Do_Table	
> +Replicate_Ignore_Table	#
> +Replicate_Wild_Do_Table	
> +Replicate_Wild_Ignore_Table	
> +Last_Errno	1364
> +Last_Error	Field 'e' doesn't have a default value
> +Skip_Counter	0
> +Exec_Master_Log_Pos	#
> +Relay_Log_Space	#
> +Until_Condition	None
> +Until_Log_File	
> +Until_Log_Pos	0
> +Master_SSL_Allowed	No
> +Master_SSL_CA_File	
> +Master_SSL_CA_Path	
> +Master_SSL_Cert	
> +Master_SSL_Cipher	
> +Master_SSL_Key	
> +Seconds_Behind_Master	#
> +Master_SSL_Verify_Server_Cert	No
> +Last_IO_Errno	#
> +Last_IO_Error	#
> +Last_SQL_Errno	1364
> +Last_SQL_Error	Field 'e' doesn't have a default value
> +SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
> +START SLAVE;
>  *** Create t10 on slave  ***
>  STOP SLAVE;
>  RESET SLAVE;
> diff -Nrup a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
> b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
> --- a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result	2007-11-21 22:09:20 +02:00
> +++ b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result	2008-02-28 15:03:24 +02:00
> @@ -399,6 +399,62 @@ set @b1 = concat(@b1,@b1);
>  INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
>  *** Drop t8  ***
>  DROP TABLE t8;
> +STOP SLAVE;
> +RESET SLAVE;
> +CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
> +d TIMESTAMP,
> +e INT NOT NULL) ENGINE='MyISAM';
> +*** Create t9 on Master ***
> +CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
> +) ENGINE='MyISAM';
> +RESET MASTER;
> +*** Start Slave ***
> +START SLAVE;
> +*** Master Data Insert ***
> +set @b1 = 'b1b1b1b1';
> +set @b1 = concat(@b1,@b1);
> +INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
> +SHOW SLAVE STATUS;
> +Slave_IO_State	#
> +Master_Host	127.0.0.1
> +Master_User	root
> +Master_Port	#
> +Connect_Retry	1
> +Master_Log_File	master-bin.000001
> +Read_Master_Log_Pos	#
> +Relay_Log_File	#
> +Relay_Log_Pos	#
> +Relay_Master_Log_File	master-bin.000001
> +Slave_IO_Running	Yes
> +Slave_SQL_Running	No
> +Replicate_Do_DB	
> +Replicate_Ignore_DB	
> +Replicate_Do_Table	
> +Replicate_Ignore_Table	#
> +Replicate_Wild_Do_Table	
> +Replicate_Wild_Ignore_Table	
> +Last_Errno	1364
> +Last_Error	Field 'e' doesn't have a default value
> +Skip_Counter	0
> +Exec_Master_Log_Pos	#
> +Relay_Log_Space	#
> +Until_Condition	None
> +Until_Log_File	
> +Until_Log_Pos	0
> +Master_SSL_Allowed	No
> +Master_SSL_CA_File	
> +Master_SSL_CA_Path	
> +Master_SSL_Cert	
> +Master_SSL_Cipher	
> +Master_SSL_Key	
> +Seconds_Behind_Master	#
> +Master_SSL_Verify_Server_Cert	No
> +Last_IO_Errno	#
> +Last_IO_Error	#
> +Last_SQL_Errno	1364
> +Last_SQL_Error	Field 'e' doesn't have a default value
> +SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
> +START SLAVE;
>  *** Create t10 on slave  ***
>  STOP SLAVE;
>  RESET SLAVE;
>
>   


-- 
Mats Kindahl
Lead Software Developer
Replication Team
MySQL AB, www.mysql.com


Thread
bk commit into 5.1 tree (aelkin:1.2545) BUG#22234Andrei Elkin28 Feb
  • RE: bk commit into 5.1 tree (aelkin:1.2545) BUG#22234Jonathan Miller29 Feb
  • Re: bk commit into 5.1 tree (aelkin:1.2545) BUG#22234Mats Kindahl4 Mar