• Sujatha's avatar
    MDEV-10149: sys_vars.rpl_init_slave_func fails sporadically in buildbot · 43ec9370
    Sujatha authored
    problem:
    ========
    mysqltest: In included file "./include/assert.inc":
    included from mysql-test/suite/sys_vars/t/rpl_init_slave_func.test at line 69:
    Assertion text: '@@global.max_connections = @start_max_connections'
    Assertion result: '0'
    
    
    mysqltest: In included file "./include/assert.inc":
    included from mysql-test/suite/sys_vars/t/rpl_init_slave_func.test at line 86:
    Assertion text: '@@global.max_connections = @start_max_connections + 1'
    Assertion result: '0'
    
    Analysis:
    =========
    A slave SQL thread sets its Running state to Yes very early in its
    initialisation, before the majority of initialisation actions, including
    executing the init_slave command, are done. Thus the testcase has a race
    condition where the initial replication setup might finish executing later
    than the testcase SET GLOBAL init_slave, making the testcase see its effect
    where it checks for its absence.
    
    Fix:
    ===
    Include 'sync_slave_sql_with_master.inc' at the beginning of the test to
    ensure that slave applier has completed the execution of 'init_slave' command
    and proceeded to event application. Replace the apparently needless RESET
    MASTER / RESET SLAVE etc.
    
    Patch is based on:
    https://github.com/percona/percona-server/pull/1464/commits/b91e2e6f90611aa299c302929fb8b068e8ac0dee
    Author: laurynas-biveinis
    43ec9370
rpl_init_slave_func.result 1.26 KB