Hi Luis,
I already did that.
I don't introduce any message without pinging either Jon or Paul.
I think this should become a rule.
Thx Jon.
Cheers.
On 03/17/2011 11:22 AM, Luís Soares wrote:
> Hi Alfranio, Jon,
>
> Patch looks good! I would just like to have Jon to review
> the messages (see comments inline).
>
> Jon, would you mind having a look at the wording for the
> warning messages below (last three hunks)?
>
> On 03/16/2011 04:38 PM, Alfranio Correia wrote:
>> #At
> file:///home/acorreia/workspace.oracle/repository.mysql/bzrwork/bug-11761074/mysql-5.5/
> based on revid:serge.kozlov@stripped
>>
>> 3373 Alfranio Correia 2011-03-16
>> BUG#11877568 - RPL_SEMI_SYNC FAILS IN PB
>>
>> Currently, rpl_semi_sync is failing in PB due to the warning message:
>>
>> "Slave SQL: slave SQL thread is being stopped in the middle of "
>> "applying of a group having updated a non-transaction table; "
>> "waiting for the group completion ..."
>>
>> The problem started happening after the fix for BUG#11762407 what was
>> automatically suppressing some warning messages.
>>
>> To fix the current issue, we suppress the aforementioned warning message
>> and exploit the opportunity to make the sentence clearer.
>>
>> modified:
>> mysql-test/extra/rpl_tests/rpl_stop_middle_group.test
>> mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
>> mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
>> mysql-test/suite/rpl/r/rpl_slow_query_log.result
>> mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
>> mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result
>> mysql-test/suite/rpl/r/rpl_stop_slave.result
>> mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
>> mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
>> mysql-test/suite/rpl/t/rpl_semi_sync.test
>> mysql-test/suite/rpl/t/rpl_slow_query_log.test
>> mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
>> mysql-test/suite/rpl/t/rpl_stop_slave.test
>> sql/slave.cc
>> === modified file 'mysql-test/extra/rpl_tests/rpl_stop_middle_group.test'
>> --- a/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test 2011-03-16 16:38:30
> +0000
>> @@ -23,8 +23,8 @@ insert into tm set a=null; # to simulate
>> commit;
>>
>> connection slave;
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> -call mtr.add_suppression("Slave SQL.*The slave SQL is stopped, leaving the
> current group of events unfinished with a non-transaction table changed.");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> +call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete
> event group having non-transactional changes");
>>
>> # slave will catch the killed status but won't shut down immediately
>> # only after the whole group has done (commit)
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result'
>> --- a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result 2011-03-16 16:38:30
> +0000
>> @@ -5,7 +5,7 @@ include/rpl_init.inc [topology=1->2->3->
>> CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL,
> PRIMARY KEY(a)) ENGINE=MyISAM;
>> CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL,
> PRIMARY KEY(a)) ENGINE=InnoDB;
>> include/rpl_sync.inc
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>>
>> *** Testing schema A->B->C->D->A ***
>>
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_heartbeat_basic.result'
>> --- a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result 2011-03-16 16:38:30
> +0000
>> @@ -207,7 +207,7 @@ CREATE TABLE t1 (a INT PRIMARY KEY, b VA
>> INSERT INTO t1 VALUES (1, 'on slave', NULL);
>> INSERT INTO t1 VALUES (1, 'on master', NULL);
>> call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on
> query.* Error_code: 1062");
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
>> include/stop_slave.inc
>> DROP TABLE t1;
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_slow_query_log.result'
>> --- a/mysql-test/suite/rpl/r/rpl_slow_query_log.result 2011-02-24 14:48:35 +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_slow_query_log.result 2011-03-16 16:38:30 +0000
>> @@ -1,7 +1,7 @@
>> include/master-slave.inc
>> [connection master]
>> CALL mtr.add_suppression("Unsafe statement written to the binary log using
> statement format since BINLOG_FORMAT = STATEMENT");
>> -call mtr.add_suppression("Slave SQL: slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table; waiting for the
> group completion");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> include/stop_slave.inc
>> SET @old_log_output= @@log_output;
>> SET GLOBAL log_output= 'TABLE';
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result'
>> --- a/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result 2011-03-16 16:38:30
> +0000
>> @@ -70,6 +70,6 @@ include/start_slave.inc
>> # Clean up
>> DROP TABLE t1;
>> SET @@global.innodb_flush_log_at_trx_commit=
> @old_innodb_flush_log_at_trx_commit;
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> SET @@global.innodb_flush_log_at_trx_commit=
> @old_innodb_flush_log_at_trx_commit;
>> include/rpl_end.inc
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result'
>> --- a/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result 2011-03-16 16:38:30
> +0000
>> @@ -11,8 +11,8 @@ insert into tm set a=null;
>> Warnings:
>> Note 1592 Unsafe statement written to the binary log using statement format
> since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a
> non-transactional table after accessing a transactional table within the same
> transaction.
>> commit;
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> -call mtr.add_suppression("Slave SQL.*The slave SQL is stopped, leaving the
> current group of events unfinished with a non-transaction table changed.");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> +call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete
> event group having non-transactional changes");
>> include/wait_for_slave_sql_to_stop.inc
>> SELECT "NO" AS Last_SQL_Error, @check as `true`;
>> Last_SQL_Error true
>> @@ -36,9 +36,9 @@ Warnings:
>> Note 1592 Unsafe statement written to the binary log using statement format
> since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a
> non-transactional table after accessing a transactional table within the same
> transaction.
>> commit;
>> include/wait_for_slave_sql_to_stop.inc
>> -SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of
> events unfinished with a non-transaction table changed. If the group consists solely of
> Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT,
> which ignores duplicate key, key not found, and similar errors (see documentation for
> details)." AS Last_SQL_Error, @check as `true`;
>> +SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group
> having non-transactional changes. If the group consists solely of row-based events, you
> can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate
> key, key not found, and similar errors (see documentation for details)." AS
> Last_SQL_Error, @check as `true`;
>> Last_SQL_Error true
>> -Fatal error: ... The slave SQL is stopped, leaving the current group of events
> unfinished with a non-transaction table changed. If the group consists solely of Row-based
> events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores
> duplicate key, key not found, and similar errors (see documentation for details). 1
>> +Fatal error: ... Slave SQL Thread stopped with incomplete event group having
> non-transactional changes. If the group consists solely of row-based events, you can try
> to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key
> not found, and similar errors (see documentation for details). 1
>> select count(*) as one from tm;
>> one
>> 1
>> @@ -53,9 +53,9 @@ set @@global.debug="+d,stop_slave_middle
>> set @@global.debug="+d,incomplete_group_in_relay_log";
>> update tm as t1, ti as t2 set t1.a=t1.a * 2, t2.a=t2.a * 2;
>> include/wait_for_slave_sql_to_stop.inc
>> -SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of
> events unfinished with a non-transaction table changed. If the group consists solely of
> Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT,
> which ignores duplicate key, key not found, and similar errors (see documentation for
> details)." AS Last_SQL_Error, @check as `true`;
>> +SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group
> having non-transactional changes. If the group consists solely of row-based events, you
> can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate
> key, key not found, and similar errors (see documentation for details)." AS
> Last_SQL_Error, @check as `true`;
>> Last_SQL_Error true
>> -Fatal error: ... The slave SQL is stopped, leaving the current group of events
> unfinished with a non-transaction table changed. If the group consists solely of Row-based
> events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores
> duplicate key, key not found, and similar errors (see documentation for details). 1
>> +Fatal error: ... Slave SQL Thread stopped with incomplete event group having
> non-transactional changes. If the group consists solely of row-based events, you can try
> to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key
> not found, and similar errors (see documentation for details). 1
>> select max(a) as two from tm;
>> two
>> 2
>>
>> === modified file 'mysql-test/suite/rpl/r/rpl_stop_slave.result'
>> --- a/mysql-test/suite/rpl/r/rpl_stop_slave.result 2011-02-23 11:54:58 +0000
>> +++ b/mysql-test/suite/rpl/r/rpl_stop_slave.result 2011-03-16 16:38:30 +0000
>> @@ -75,7 +75,7 @@ include/wait_for_slave_sql_to_start.inc
>> # Test end
>> SET GLOBAL debug= '$debug_save';
>> include/restart_slave.inc
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> [connection master]
>> DROP TABLE t1, t2;
>>
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test'
>> --- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test 2011-03-16 16:38:30
> +0000
>> @@ -30,7 +30,7 @@ CREATE TABLE t1 (a INT NOT NULL AUTO_INC
>> CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL,
> PRIMARY KEY(a)) ENGINE=InnoDB;
>> --source include/rpl_sync.inc
>> --connection server_4
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> --echo
>>
>> #
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_heartbeat_basic.test'
>> --- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2011-02-23 11:54:58 +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2011-03-16 16:38:30 +0000
>> @@ -320,7 +320,7 @@ INSERT INTO t1 VALUES (1, 'on slave', NU
>> INSERT INTO t1 VALUES (1, 'on master', NULL);
>> --connection slave
>> call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on
> query.* Error_code: 1062");
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> let $slave_errno= ER_DUP_ENTRY
>> --source include/wait_for_slave_sql_error.inc
>> let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE
> 'slave_received_heartbeats', Value, 1);
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_semi_sync.test'
>> --- a/mysql-test/suite/rpl/t/rpl_semi_sync.test 2010-12-19 17:15:12 +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_semi_sync.test 2011-03-16 16:38:30 +0000
>> @@ -15,6 +15,7 @@ call mtr.add_suppression("Unsafe stateme
>> connection slave;
>> call mtr.add_suppression("Master server does not support semi-sync");
>> call mtr.add_suppression("Semi-sync slave .* reply");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> enable_query_log;
>> connection master;
>>
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_slow_query_log.test'
>> --- a/mysql-test/suite/rpl/t/rpl_slow_query_log.test 2011-02-24 14:48:35 +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_slow_query_log.test 2011-03-16 16:38:30 +0000
>> @@ -29,8 +29,7 @@ source include/master-slave.inc;
>> source include/have_binlog_format_statement.inc;
>>
>> CALL mtr.add_suppression("Unsafe statement written to the binary log using
> statement format since BINLOG_FORMAT = STATEMENT");
>> -call mtr.add_suppression("Slave SQL: slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table; waiting for the
> group completion");
>> -
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>>
>> # Prepare slave for different long_query_time we need to stop the slave
>> # and restart it as long_query_time variable is dynamic and, after
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test'
>> --- a/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test 2011-02-23 11:54:58
> +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test 2011-03-16 16:38:30
> +0000
>> @@ -19,7 +19,7 @@ SET @@session.binlog_direct_non_transact
>> # clean up
>> --connection slave
>> SET @@global.innodb_flush_log_at_trx_commit=
> @old_innodb_flush_log_at_trx_commit;
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> --connection master
>> SET @@global.innodb_flush_log_at_trx_commit=
> @old_innodb_flush_log_at_trx_commit;
>>
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_stop_slave.test'
>> --- a/mysql-test/suite/rpl/t/rpl_stop_slave.test 2011-02-23 11:54:58 +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_stop_slave.test 2011-03-16 16:38:30 +0000
>> @@ -48,7 +48,7 @@ SET GLOBAL debug= '$debug_save';
>> source include/restart_slave_sql.inc;
>>
>> connection slave;
>> -call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the
> middle of applying of a group having updated a non-transaction table");
>> +call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received
> while applying a group that has non-transactional changes; waiting for completion of the
> group");
>> connection master;
>>
>> --source include/rpl_connection_master.inc
>>
>> === modified file 'sql/slave.cc'
>> --- a/sql/slave.cc 2011-01-24 03:52:29 +0000
>> +++ b/sql/slave.cc 2011-03-16 16:38:30 +0000
>> @@ -903,18 +903,18 @@ static bool sql_slave_killed(THD* thd, R
>> && rli->is_in_group())
>> {
>> char msg_stopped[]=
>> - "... The slave SQL is stopped, leaving the current group "
>> - "of events unfinished with a non-transaction table changed. "
>> - "If the group consists solely of Row-based events, you can try "
>> - "restarting the slave with --slave-exec-mode=IDEMPOTENT, which "
>> + "... Slave SQL Thread stopped with incomplete event group "
>> + "having non-transactional changes. "
>
> Disclaimer: I am no native speaker... That said:
>
> 1. Why ditching the "The"?
> 2. "...thread stopped with incomplete event group having...", isn't it more like:
> "...thread was stopped while handling an event group containing..."
>
>> + "If the group consists solely of row-based events, you can try "
>> + "to restart the slave with --slave-exec-mode=IDEMPOTENT, which "
>> "ignores duplicate key, key not found, and similar errors (see "
>> "documentation for details).";
>>
>> if (rli->abort_slave)
>> {
>> - DBUG_PRINT("info", ("Slave SQL thread is being stopped in the middle
> of"
>> - " a group having updated a non-trans table, giving"
>> - " it some grace period"));
>> + DBUG_PRINT("info", ("Request to stop slave SQL Thread received while "
>> + "applying a group that has non-transactional "
>> + "changes; waiting for completion of the group ...
> "));
>>
>> /*
>> Slave sql thread shutdown in face of unfinished group modified
>> @@ -938,9 +938,9 @@ static bool sql_slave_killed(THD* thd, R
>> if (ret == 0)
>> {
>> rli->report(WARNING_LEVEL, 0,
>> - "slave SQL thread is being stopped in the middle "
>> - "of applying of a group having updated a non-transaction
> "
>> - "table; waiting for the group completion ... ");
>> + "Request to stop slave SQL Thread received while "
>> + "applying a group that has non-transactional "
>> + "changes; waiting for completion of the group ... ");
>
> Looks ok to me.
>
>
> Regards,
> Luís