• Jan Lindström's avatar
    MDEV-19746: Galera test failures because of wsrep_slave_threads identification · ec49976e
    Jan Lindström authored
    Problem was that tests select INFORMATION_SCHEMA.PROCESSLIST processes
    from user system user and empty state. Thus, there is not clear
    state for slave threads.
    
    Changes:
    - Added new status variables that store current amount of applier threads
    (wsrep_applier_thread_count) and rollbacker threads
    (wsrep_rollbacker_thread_count). This will make clear how many slave threads
    of certain type there is.
    - Added THD state "wsrep applier idle" when applier slave thread is
    waiting for work. This makes finding slave/applier threads easier.
    - Added force-restart option for mtr to always restart servers between tests
    to avoid race on start of the test
    - Added wait_condition_with_debug to wait until the passed statement returns
    true, or the operation times out. If operation times out, the additional error
    statement will be executed
    
    Changes to be committed:
    	new file:   mysql-test/include/force_restart.inc
    	new file:   mysql-test/include/wait_condition_with_debug.inc
    	modified:   mysql-test/mysql-test-run.pl
    	modified:   mysql-test/suite/galera/disabled.def
    	modified:   mysql-test/suite/galera/r/MW-336.result
    	modified:   mysql-test/suite/galera/r/galera_kill_applier.result
    	modified:   mysql-test/suite/galera/r/galera_var_slave_threads.result
    	new file:   mysql-test/suite/galera/t/MW-336.cnf
    	modified:   mysql-test/suite/galera/t/MW-336.test
    	modified:   mysql-test/suite/galera/t/galera_kill_applier.test
    	modified:   mysql-test/suite/galera/t/galera_parallel_autoinc_largetrx.test
    	modified:   mysql-test/suite/galera/t/galera_parallel_autoinc_manytrx.test
    	modified:   mysql-test/suite/galera/t/galera_var_slave_threads.test
    	modified:   mysql-test/suite/wsrep/disabled.def
    	modified:   mysql-test/suite/wsrep/r/variables.result
    	modified:   mysql-test/suite/wsrep/t/variables.test
    	modified:   sql/mysqld.cc
    	modified:   sql/wsrep_mysqld.cc
    	modified:   sql/wsrep_mysqld.h
    	modified:   sql/wsrep_thd.cc
    	modified:   sql/wsrep_var.cc
    ec49976e
mysqld.cc 351 KB