• Dmitry Shulga's avatar
    A fix and a test case for Bug#47924 -main.log_tables times out · 8f237f58
    Dmitry Shulga authored
    sporadically.
    
    The cause of the sporadic time out was a leaking protection
    against the global read lock, taken by the RENAME statement,
    and not released in case of an error occurred during RENAME.
    The leaking protection counter would lead to the value of
    protect_against_global_read never dropping to 0.
    Consequently FLUSH TABLES in all connections, including the
    one that leaked the protection, could not proceed.
     
    The fix is to ensure that all branchesin RENAME code properly
    release GRL protection.
    
    mysql-test/r/log_tables.result:
      Added results for test for bug#47924.
    mysql-test/t/log_tables.test:
      Added test for bug#47924.
    sql/sql_rename.cc:
      mysql_rename_tables() modified: replaced return from function
      to goto to clean up code block in case of error.
    8f237f58
sql_rename.cc 10.4 KB