Sujatha, the patch looks nice, and thanks for a good piece of work!
I only was not happy about cluttering up the code block now with the 2nd
simulation
@@ -1096,6 +1102,13 @@ handle_rpl_parallel_thread(void *arg)
bool did_enter_cond= false;
PSI_stage_info old_stage;
+ DBUG_EXECUTE_IF("hold_worker_on_schedule", {
+ if (rgi->current_gtid.domain_id == 0 &&
+ rgi->current_gtid.seq_no == 100)
{
+ debug_sync_set_action(thd,
+ STRING_WITH_LEN("now SIGNAL reached_pause WAIT_FOR continue_worker"));
+ }
+ });
DBUG_EXECUTE_IF("rpl_parallel_scheduled_gtid_0_x_100", {
if (rgi->current_gtid.domain_id == 0 &&
rgi->current_gtid.seq_no == 100) {
which largely copies the 1st one. We could actually keep just one generic simulation block
and employ the statement format's user variables to carry to the worker various
things like
gtid and the reaction string. Eventually it would be something like this
pseudo-code:
if ((event_type= qev->ev->get_type_code()) == GTID_EVENT)
|
{
|
...
|
DBUG_EXECUTE_IF("hold_worker_before_gco",
|
{
|
if (rgi->current_gtid.seq_no == "@gtid_for_hold_worker_before_gco")
|
debug_sync_set_action(thd, "@action_for_hold_worker_before_gco")
|
});
|
}
|
I am just throwing in the idea without urging yet to discuss it and implement. We would certainly benefit in having this sort of simulation policy which just bound with STATEMENT format a bit to much to my taste (a tentative feeling; should we have user variables logged along with Rows_log_events ...).
some policy and
Hello Andrei,
Please review the fix for
MDEV-20645.https://github.com/MariaDB/server/commit/e07caf401c26cf8144899336d103e4c7aafd3d7a
http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.1-sujatha
Thank you.