[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.137.171.71: ~ $
################################################################################
# This test case aims to check if the recovery routine develop as part of the
# WL#5599 works correctly. To do so, we generate a set of changes, i.e. a set
# of transactions, as follows:
#
#   DB_1 ... DB_1 DB_2 ... DB_2 ... DB_w ... DB_w
#   |         |   |         |       |         |
#   ---- a ----   ---- a ----       ---- a ----
#   |         |   |         |       |         |
#   ---- p ----   ---- p ----       ---- p ----
#   |         |
#   ---- c ----   
#
#  DB_w is a transaction on database "w" that is assigned to worker "w" and
#  may be generated "a" times. Within each "a" group, "p" transactions are
#  processed by their assigned workers and within the first group, only "c"
#  transactions are processed by the checkpoint routine.
#
#  The following properties hold:
#
#  . 0 <= p <= a
#  . 0 <= c <= p
#
#  So after assigning "a" transactions to each worker, waiting that "p"
#  transactions are processed by each worker and "c" are processed by the
#  checkpoint routine, the slave is rebooted thus executing the recovery
#  routine with a mix of processed and unprocessed transactions.
#
#  Along with this, the relay log is rotated and during startup the relay
#  log files are delete based on the option relay-log-recovery.
#
#  At the end, master and slave cannot diverge.
################################################################################
#  Clean all configuration changes after running the test.
--source include/force_restart.inc


--echo ########################################################################
--echo #                               SET UP
--echo ########################################################################
if (`select '$crash_safe_small' <> ''`)
{
  --echo 'Small rpl_mts_crash_safe'
  let $max_groups=2;
  let $max_workers=2;
}
if (`select '$crash_safe_small' = ''`)
{
  --echo 'Big rpl_mts_crash_safe'
  let $max_groups=3;
  let $max_workers=3;
}
--let $verbose= 0
--connection master
--let $commands= configure
--let $engine_type="Innodb"
--source extra/rpl_tests/rpl_mts_crash_safe.inc


--echo ########################################################################
--echo #                                TEST 
--echo ########################################################################
let $count_debug_groups=1;
while ($count_debug_groups <= $max_groups)
{
  let $count_workers=1;
  while ($count_workers <= $max_workers)
  {
    let $count_checkpoint=0;
    while ($count_checkpoint <= $count_debug_groups)
    {
      let $count_groups=$count_debug_groups;
      while ($count_groups <= $max_groups)
      {
        --connection slave
        --eval SET @@global.slave_parallel_workers= $count_workers
        --eval SET @@global.slave_checkpoint_period= $count_checkpoint
        let $count_transactions=1;
        while ($count_transactions <= $count_groups)
        {
          let $count_database=1;
          while ($count_database <= $count_workers)
          {
            --connection master
            --let $database_name=test_$count_database
            --echo Generating Number of Workers $count_workers --- Number of Groups per worker $count_groups --- Debugging Groups $count_debug_groups --- Database $database_name
            --let $commands= B T T C
            --source extra/rpl_tests/rpl_mts_crash_safe.inc
            inc $count_database;
          }
          inc $count_transactions;
        }
        --echo ----Executing----
        --let $commands= recovery
        --source extra/rpl_tests/rpl_mts_crash_safe.inc
        inc $count_groups;
      }
      inc $count_checkpoint;
    }
    inc $count_workers;
  }
  inc $count_debug_groups;
}


--echo ########################################################################
--echo #                          CHECK CONSISTENCY
--echo ########################################################################
--connection slave
--source include/start_slave.inc

--connection master
--source include/sync_slave_sql_with_master.inc

--connection master

let $MYSQLD_DATADIR= `SELECT @@datadir`;

--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info --set-gtid-purged=off test > $MYSQLD_DATADIR/test-mts-crash-master.sql
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info --set-gtid-purged=off test > $MYSQLD_DATADIR/test-mts-crash-slave.sql
--diff_files $MYSQLD_DATADIR/test-mts-crash-master.sql $MYSQLD_DATADIR/test-mts-crash-slave.sql


--echo ########################################################################
--echo #                             CLEAN UP
--echo ########################################################################
--connection master
# Resetting the slave's info repository type to its default (FILE)
# should be done to any tests that starts the server with non-default (TABLE).
# That prevents the following tests in a suite execution to hit
# Bug #14827923 RPL TEST RPL_PARALLEL_CHANGE_MASTER FAILS WITH WARNING
# Technically resetting of the repo type is implemented through
# one to slave_parallel_workers. Having it zero in the info table
# at the following restart makes the slave server to quietly migrate
# the repository to the requested type.
# Notice that Bug#15858271 of mtr does not allow effectiveness of
# zeroing.
# TODO: run the combination described on Bug#15858271 after it's fixed.

--let $saved_workers= 0
--let $commands= clean
--source extra/rpl_tests/rpl_mts_crash_safe.inc

--connection master
--source include/rpl_end.inc

Filemanager

Name Type Size Permission Actions
check_type.inc File 1.95 KB 0644
create_recursive_construct.inc File 17.38 KB 0644
create_recursive_construct_stmt_capable_engine.inc File 16.72 KB 0644
delayed_slave_wait_on_query.inc File 1.59 KB 0644
grep_pattern.inc File 598 B 0644
rpl_EE_err.test File 1.03 KB 0644
rpl_auto_increment.test File 8.43 KB 0644
rpl_auto_increment_insert_view.test File 1.37 KB 0644
rpl_auto_increment_invoke_trigger.test File 2.47 KB 0644
rpl_autoinc_func_invokes_trigger.test File 1.78 KB 0644
rpl_binlog_error.inc File 17.24 KB 0644
rpl_binlog_max_cache_size.test File 17.42 KB 0644
rpl_blackhole.test File 1.03 KB 0644
rpl_change_master.test File 10.5 KB 0644
rpl_change_master_bind.inc File 2.23 KB 0644
rpl_charset.test File 4.45 KB 0644
rpl_check_gtid.inc File 4.87 KB 0644
rpl_commit_after_flush.test File 296 B 0644
rpl_conflicts.test File 5.45 KB 0644
rpl_crash_safe.inc File 4.13 KB 0644
rpl_crash_safe.test File 7.61 KB 0644
rpl_db_stmts_ignored.inc File 1.7 KB 0644
rpl_ddl.test File 21.59 KB 0644
rpl_deadlock.test File 5.53 KB 0644
rpl_delete_no_where.test File 523 B 0644
rpl_do_table_filter_insensitive.inc File 492 B 0644
rpl_do_table_filter_sensitive.inc File 491 B 0644
rpl_drop_create_temp_table.inc File 29.76 KB 0644
rpl_drop_create_temp_table.test File 17.8 KB 0644
rpl_extra_col_master.test File 31.89 KB 0644
rpl_extra_col_slave.test File 28.7 KB 0644
rpl_failed_optimize.test File 666 B 0644
rpl_filters.test File 496 B 0644
rpl_flsh_tbls.test File 1.79 KB 0644
rpl_foreign_key.test File 1.7 KB 0644
rpl_generate_mts_gap.test File 1.62 KB 0644
rpl_get_master_version_and_clock.test File 2.88 KB 0644
rpl_gtid_drop_table.inc File 1.11 KB 0644
rpl_gtid_mts_relay_log_recovery.test File 3.78 KB 0644
rpl_gtid_temp_table_in_func_or_trigger.inc File 3.69 KB 0644
rpl_gtids_restart_slave_io_lost_trx.test File 3.48 KB 0644
rpl_heartbeat_2slaves.inc File 4.27 KB 0644
rpl_ignore_table_filter_insensitive.inc File 508 B 0644
rpl_ignore_table_filter_sensitive.inc File 506 B 0644
rpl_implicit_commit_binlog.test File 16.65 KB 0644
rpl_innodb.test File 4.49 KB 0644
rpl_insert_delayed.test File 4.63 KB 0644
rpl_insert_id.test File 15.12 KB 0644
rpl_insert_id_pk.test File 2.65 KB 0644
rpl_insert_ignore.test File 4.74 KB 0644
rpl_insert_ignore_gtid_on.inc File 466 B 0644
rpl_kill_query.inc File 4.14 KB 0644
rpl_loaddata.test File 8.72 KB 0644
rpl_loaddata_s.inc File 896 B 0644
rpl_loadfile.test File 1.07 KB 0644
rpl_log.test File 5.29 KB 0644
rpl_lower_case_table_names.test File 4.07 KB 0644
rpl_max_relay_size.test File 2.58 KB 0644
rpl_mixing_engines.inc File 22.85 KB 0644
rpl_mixing_engines.test File 54.43 KB 0644
rpl_mts_crash_safe.inc File 5.87 KB 0644
rpl_mts_crash_safe.test File 5.47 KB 0644
rpl_mts_execute_partial_trx_in_relay_log.inc File 1.11 KB 0644
rpl_mts_pending_events.inc File 4.91 KB 0644
rpl_mts_relay_log_recovery.test File 3.19 KB 0644
rpl_multi_query.test File 782 B 0644
rpl_multi_update.test File 805 B 0644
rpl_multi_update2.test File 1.35 KB 0644
rpl_multi_update3.test File 4.38 KB 0644
rpl_not_null.test File 10.7 KB 0644
rpl_parallel_load.test File 6.06 KB 0644
rpl_parallel_load_innodb.test File 6.96 KB 0644
rpl_partition.test File 7.88 KB 0644
rpl_record_compare.test File 2.08 KB 0644
rpl_relayrotate.test File 2.68 KB 0644
rpl_reset_slave.test File 3.45 KB 0644
rpl_rollback_to_savepoint.inc File 7.49 KB 0644
rpl_row_001.test File 1.92 KB 0644
rpl_row_UUID.test File 2.61 KB 0644
rpl_row_basic.test File 24.21 KB 0644
rpl_row_blob.test File 5.57 KB 0644
rpl_row_delayed_ins.test File 598 B 0644
rpl_row_empty_imgs.test File 5.67 KB 0644
rpl_row_event_max_size.inc File 3.76 KB 0644
rpl_row_func003.test File 3.07 KB 0644
rpl_row_idempotency.test File 8.39 KB 0644
rpl_row_img.test File 8.23 KB 0644
rpl_row_img_blobs.test File 5.82 KB 0644
rpl_row_img_diff_indexes.test File 9.11 KB 0644
rpl_row_show_relaylog_events.inc File 559 B 0644
rpl_row_sp002.test File 5.26 KB 0644
rpl_row_sp003.test File 2.01 KB 0644
rpl_row_sp006.test File 2.78 KB 0644
rpl_row_sp007.test File 1.46 KB 0644
rpl_row_tabledefs.test File 8.1 KB 0644
rpl_set_null.test File 2.85 KB 0644
rpl_show_binlog_events.inc File 364 B 0644
rpl_show_log_events_with_varying_options.inc File 364 B 0644
rpl_show_relaylog_events.inc File 1.96 KB 0644
rpl_start_stop_slave.test File 5.3 KB 0644
rpl_stm_EE_err2.test File 1.47 KB 0644
rpl_stm_create_if_not_exists.test File 6.87 KB 0644
rpl_stm_insert_delayed.inc File 394 B 0644
rpl_stm_mix_show_relaylog_events.inc File 574 B 0644
rpl_stop_middle_group.test File 5.14 KB 0644
rpl_stop_slave.test File 1.56 KB 0644
rpl_stress_test.inc File 2.22 KB 0644
rpl_sv_relay_space.test File 921 B 0644
rpl_temp_error.test File 623 B 0644
rpl_test_framework.inc File 2.42 KB 0644
rpl_tmp_table_and_DDL.test File 4.8 KB 0644
rpl_trig004.test File 1.7 KB 0644
rpl_truncate.test File 425 B 0644
rpl_truncate_helper.test File 976 B 0644
type_conversions.test File 23.47 KB 0644