Sachin Setiya <[email protected]> writes:
> On Tue, Jan 24, 2017 at 2:32 AM, Daniel Black <[email protected]>
> wrote:
>> On 24/01/17 04:30, SachinSetiya wrote:
>> > revision-id: ef590faa0e21d25a2dc5153f938135612b17ecbc
>> (mariadb-10.1.20-31-gef590fa)
>>
>>
>> > thd_proc_info(thd, message);
>> > + DBUG_EXECUTE_IF("should_sleep_for_mdev7409",{
>> > + my_sleep(500000);
>> > + };);
>>
>> Shouldn't these be DEBUG_SYNC_C("do_exec_row");
>>
>> and then use debug_sync to generate test synchronisation.
>>
>> I tried using DEBUG_SYNC and DEBUG_SYNC_C
> But mtr test is not waiting, this is because ::do_exec_row is called by SQL
> thread is there a way to
> stop SQL thread and add sync points ?
You use DBUG_EXECUTE_IF() to trigger code inside the SQL thread that then
does the appropriate debug_sync command. For an example, see the use of
rpl_parallel_scheduled_gtid_0_x_100 in
mysql-test/extra/rpl_tests/rpl_parallel.inc and sql/rpl_parallel.cc.
Do not ever use sleeps as a way to synchronise in test cases (or anywhere).
> + my_snprintf(msg, sizeof(msg),"Write_rows_log_event::write_row() on table
> %s",
> + m_table->s->table_name.str);
Since you are anyway changing the message, I would put something more
appropriate here. Putting internal server source code names like
Write_rows_log_event::write_row() in SHOW PROCESSLIST does not seem
appropriate.
- Kristian.
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help : https://help.launchpad.net/ListHelp