• Marko Mäkelä's avatar
    MDEV-22393 Corruption for SET GLOBAL innodb_ string variables · 70418074
    Marko Mäkelä authored
    Several MYSQL_SYSVAR_STR parameters that employ both a validate
    function callback fail to copy the string for saving the
    validated value. The affected variables include the following:
    
    innodb_ft_aux_table
    innodb_ft_server_stopword_table
    innodb_ft_user_stopword_table
    innodb_buffer_pool_filename
    
    The test case is an enhanced version of
    mysql/mysql-server@0b0c30641fd66336e87394ac28587e40864f8af9
    and the code changes are inspired by their fixes.
    
    We are also importing and adjusting the test innodb_fts.stopword
    to get coverage for the variable innodb_ft_user_stopword_table.
    
    buf_dump(), buf_load(): Protect srv_buf_dump_filename with
    LOCK_global_system_variables.
    
    fts_load_user_stopword(): Minor cleanup
    
    fts_load_stopword(): Remove the parameter global_stopword_table.
    
    innobase_fts_load_stopword(): Protect innodb_server_stopword_table
    against concurrent SET GLOBAL.
    70418074
innodb_sys_var_valgrind.test 2.06 KB