• Raghavendra D Prabhu's avatar
    Bug#1421360: Add 'FLUSH TABLES' to Total Order Isolation execution. · fbe739cb
    Raghavendra D Prabhu authored
    Before this, FLUSH TABLES and FLUSH TABLES t1 (REFRESH_TABLES hereafter) were executed locally,
    which also had implications for GTID. MySQL async replication does
    replicate FLUSH TABLES.
    
    Hence, this commit
    
    a)  Adds REFRESH_TABLES to TOI.
    
    b) Skips LOCK-based REFRESH_TABLES from TOI, ie. FLUSH TABLES WITH READ
    LOCK and FLUSH TABLES FOR EXPORT.
    
    c) Executes them after reload_acl_and_cache. This is done since
    reload_acl_and_cache checks for thd->locked_tables_mode and does upgrade
    of MDL locks accordingly. A failure here means REFRESH_TABLES cannot
    run.
    
        i) This is also important since LOCK TABLES is not replicated in
        galera.
    
    d) Test galera_flush has been modified for
    
        i) wsrep_replicate_myisam SESSION variable.
    
        ii) Testing REFRESH_TABLES.
    
        iii) Testing REFRESH_TABLES + LOCK TABLES.
    
    e) Use different WSREP_TO_ISOLATION_BEGIN for global FLUSH TABLES and FLUSH TABLES <table,>.
    fbe739cb
galera_flush.result 1.24 KB