• Ashish Agarwal's avatar
    BUG#14485479: INSTALL AUDIT PLUGIN HANGS IF WE TRY TO · 154860ea
    Ashish Agarwal authored
                  DISABLE AND ENABLED DURING DDL OPERATION
    
    PROBLEM: Same thread trying to acquire the same mutex
             second time leads to hang/server crash.
             While [un]installing audit_log plugin
             a thread acquires the LOCK_plugin mutex
             and after successful initialization tries
             to write in mysql.plugin table. It holds
             this mutex for a long time. If some how
             plugin table is corrupted then a write to 
             plugin table will throw an error, thread try
             to log this error in the audit_log plugin,
             doing so it tries to acquire the mutex
             again and results is server hang/crash.
    
    SOLUTION: Releasing the LOCK_plugin mutex before
              writing in mysql.plugin table. We dont
              need to hold this mutex as thread already
              acquired a TL_WRITE lock on mysql.plugin
              table.
    154860ea
sql_plugin.cc 109 KB