• Brandon Nesterenko's avatar
    MDEV-28435: rpl.rpl_mysqlbinlog_slave_consistency fails intermittently on tables comparison · 51b28b24
    Brandon Nesterenko authored
    Problem:
    ========
    The test logic checked for the wrong condition to validate that the
    slave had caught up with the master. Specifically, it used the
    thread stage of the IO and SQL thread to be in the “Waiting for
    master to send event” and “Slave has read all relay log; waiting for
    more updates” states, respectively. The problem exposed by this MDEV
    is that, this state is also the initial slave state before reading
    data from the primary (whereas the intended state was having already
    read all available events from the primary and now waiting for new
    events). This made the MTR test validate data that it had not yet
    received, and thereby fail.
    
    Solution:
    ========
    Instead of using the IO/SQL thread states, use the existing helper
    functions save_master_gtid.inc and sync_with_master_gtid.inc. Note
    that the test result file also needed to be updated to reflect
    this fix.
    
    Special thanks to Angelique Sklavounos for pointing out that
    --stop-position was not specified in any buildbot failures, as this
    led to an IF block in the MTR test that was the source of the test
    failure.
    
    Reviewed By
    ============
    Andrei Elkin <andrei.elkin@mariadb.com>
    51b28b24
rpl_mysqlbinlog_slave_consistency.result 40.1 KB